Per iniziare tmux
ad ogni accesso alla shell, è stato aggiunto quanto segue ~/.bashrc
(sul server):
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Voglio anche cambiare il titolo della finestra in qualcosa di simile user@server
(anziché user@localhost
) quando ssh in un host. Ecco il mio ~/.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@'
Come puoi vedere, è set-titles
stato impostato su on
, ma non funziona come previsto.
Più informazioni:
Al di fuori di tmux:
$ echo $TERM
xterm
All'interno di tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
Ed ecco i registri quando si esegue tmux -vvvvv
per un po ':
- 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 commento le righe in ~/.bashrc
, dal mio laptop, ssh al server, la barra del titolo mostra correttamente ( quanta@server
), quindi iniziare tmux
da lì funziona anche come previsto.
Ma se voglio iniziare tmux
subito dopo il login, la barra del titolo rimane quanta@Ubuntu
dopo ssh.
AGGIORNAMENTO Ven 10 maggio 07:51:23 ICT 2013
Ho cancellato il exit
comando per non chiudere la sessione della shell quando l'ultima tmux
finestra è chiusa:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
La cosa strana è:
- ssh al server -> la barra del titolo:
quanta@Ubuntu
- staccare da
tmux
-> passare alla barra del titoloquanta@server
- ricollega a
tmux
-> la barra del titolo viene ancora visualizzata correttamentequanta@server
Non sono sicuro che sia correlato alla PROMPT_COMMAND
variabile di ambiente o meno:
Al di fuori di tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
All'interno di tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.