tmux set-titles não funciona?

17

Para iniciar tmux em cada login do shell, o seguinte foi adicionado ao ~/.bashrc (no servidor):

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new; exit
fi

Eu também quero mudar 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 como esperado.

Mais informações:

Fora do tmux:

$ echo $TERM
xterm

Dentro do tmux:

$ echo $TERM
screen

show -g : link

tmux info : link

E aqui estão os registros quando rodamos tmux -vvvvv por um tempo:

Se eu comentar as linhas em ~/.bashrc , do meu laptop, ssh para o servidor, a barra de título mostra corretamente ( quanta@server ), então inicie tmux de lá também funciona como esperado.

Mas se eu quiser iniciar tmux imediatamente após o login, a barra de título continua a ser quanta@Ubuntu após ssh.

ATUALIZAÇÃO Sex May 10 07:51:23 ICT 2013

Eu deletei o comando exit para não fechar a sessão do shell quando a última janela tmux está fechada:

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new
fi

O estranho é:

  • ssh para o servidor - > a barra de título: quanta@Ubuntu
  • desanexar de tmux - > a barra de título muda para quanta@server
  • anexar a tmux novamente - > a barra de título ainda mostra corretamente %código%

Não tenho certeza se está relacionado à variável de ambiente quanta@server ou não:

Fora de PROMPT_COMMAND :

$ echo $PROMPT_COMMAND 
echo -ne "3]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "
$ echo $PROMPT_COMMAND
echo -ne "3_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "3\"
7"

Dentro de tmux :

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new; exit
fi
    
por quanta 09.05.2013 / 12:26

2 respostas

15

Problema resolvido!

Para habilitar a rolagem do mouse nativo xterm em tmux , muito wiki , Q & Um site , postagem no blog sugere adicionar uma linha como:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

para ~/.tmux.conf . E é o culpado.

Para permitir títulos xterm na janela do terminal, você também precisa adicionar o sinalizador XT , algo assim:

set -g terminal-overrides "xterm*:XT:smcup@:rmcup@"

Fonte: link

    
por 10.05.2013 / 20:58
2

Veio neste encadeamento a partir da lista de discussão do tmux-users. O tópico foi intitulado: conjuntos de títulos não funcionam . Há algumas coisas deste tópico para tentar. Há uma versão mais limpa do tópico aqui também.

Recursos do XTerm

Para iniciantes, a eventual correção foi adicionar a seguinte linha ao seu arquivo de Recursos do XTerm, ~/.Xresources :

XTerm*allowSendEvents: true

Depurando as dicas do tmux

Também houve algumas dicas de depuração neste tópico que podem ajudá-lo também.

verbose tmux

  1. feche todas as sessões do tmux
  2. execute o comando: tmux -vvvvv
  3. execute o comando: vi foo
  4. salve o arquivo
  5. sair do tmux

Depois disso, você deve ter 3 arquivos, algo assim:

  • tmux-out-21594.log
  • tmux-client-21592.log
  • tmux-server-21594.log

informações do tmux

$ tmux info
tmux 1.4, pid 22182, started Fri May 10 04:00:37 2013
socket path /var/run/tmux/tmux-500/default, debug level 0
system is Linux 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64
configuration file is /home/saml/.tmux.conf
protocol version is 6

Clients:
 0: /dev/pts/12 (8, 11): 0 [132x24 xterm] [flags=0x1/0x38, references=0]

Sessions: [5/10]
 0: 0: 1 windows (created Fri May 10 04:00:37 2013) [132x23] [flags=0x0]
   0: bash [132x23] [flags=0x8, references=1, last layout=-1]
     0: /dev/pts/48 22183 13 1/23, 135 bytes; UTF-8 0/23, 0 bytes

Terminals:
xterm [references=1, flags=0x0]:
 1: acsc: (string) ''aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
 0: AX: (flag) true
 2: bel: (string) 
XTerm*allowSendEvents: true
7 ... ... 144: smul: (string) 3[4m 145: vpa: (string) 3[%i%p1%dd 146: xenl: (flag) true Jobs:
    
por 10.05.2013 / 10:02

Tags