Para iniciar tmux
em cada login do shell, foi adicionado o seguinte no ~/.bashrc
(no servidor):
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Também quero alterar o título da janela para algo como user@server
(em vez de user@localhost
) quando ssh em um host. Aqui está o meu ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g set-titles on
set -g set-titles-string "#T"
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Como você pode ver, set-titles
foi definido como on
, mas não funciona conforme o esperado.
Mais informações:
Fora do tmux:
$ echo $TERM
xterm
Dentro do tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
E aqui estão os logs quando rodando tmux -vvvvv
um pouco:
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Se eu comentar as linhas ~/.bashrc
do meu laptop, ssh para o servidor, a barra de título será exibida corretamente ( quanta@server
) e, a tmux
partir daí, também funcionará conforme o esperado.
Mas se eu quiser iniciar tmux
imediatamente após o login, a barra de título permanecerá quanta@Ubuntu
após o ssh.
ATUALIZAÇÃO Sexta 10 de maio 07:51:23 ICT 2013
Eu apaguei o exit
comando para não fechar a sessão do shell quando a última tmux
janela for fechada:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
O estranho é:
- ssh para servidor -> a barra de título:
quanta@Ubuntu
- desanexar de
tmux
-> a barra de título alterna paraquanta@server
- anexar
tmux
novamente -> a barra de título ainda aparece corretamentequanta@server
Não tenho certeza se está relacionado à PROMPT_COMMAND
variável de ambiente ou não:
Fora de tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
Dentro de tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.Respostas:
Problema resolvido!
Para ativar a rolagem nativa do mouse xterm
tmux
, muitos sites wiki , perguntas e respostas , as postagens do blog sugerem a adição de uma linha como:para
~/.tmux.conf
. E é o culpado.Para permitir títulos xterm na janela do terminal, você também precisa adicionar a
XT
flag, algo como isto:Fonte: http://opennomad.com/content/goodbye-screen-hello-tmux
fonte
rxvt
, a definição éset -ga terminal-overrides ",rxvt*:XT"
-a
opção comset
para acrescentar as substituições smcup / rmcup. Isso resolverá outros problemas estranhos, como não conseguir definir a forma do cursor corretamente.Encontrei esse tópico na lista de discussão tmux-users. O segmento foi intitulado: set-títulos não está funcionando . Há algumas coisas neste tópico para tentar. Também há uma versão mais limpa do tópico .
Recursos XTerm
Para iniciantes, a correção eventual era adicionar a seguinte linha ao seu arquivo XTerm Resources
~/.Xresources
:Dicas para depuração do tmux
Havia também algumas dicas de depuração neste tópico que também podem ajudá-lo.
tmux detalhado
tmux -vvvvv
vi foo
Depois de fazer isso, você deve ter três arquivos, algo como estes:
informações tmux
fonte
XTerm*allowSendEvents: true
não funcionou. Os arquivos de log foram enviados. Veja minha pergunta atualizada.