Pour commencer tmuxà chaque connexion au shell, les éléments suivants ont été ajoutés au ~/.bashrc(sur le serveur):
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Je veux également changer le titre de la fenêtre en quelque chose comme user@server(au lieu de user@localhost) lorsque ssh en hôte. Voici mon ~/.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@'
Comme vous pouvez le voir, a set-titlesété défini sur on, mais cela ne fonctionne pas comme prévu.
Plus d'informations:
En dehors de tmux:
$ echo $TERM
xterm
À l'intérieur de tmux:
$ echo $TERM
screen
show -g: https://clbin.com/h7oDh
tmux info: http://sprunge.us/XHCB
Et voici les journaux lors de l'exécution tmux -vvvvvun peu:
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Si je commente les lignes ~/.bashrc, depuis mon ordinateur portable, ssh vers le serveur, la barre de titre s'affiche correctement ( quanta@server), puis commence à tmuxpartir de là fonctionne également comme prévu.
Mais si je veux commencer tmuximmédiatement après la connexion, la barre de titre reste quanta@Ubuntuaprès ssh.
MISE À JOUR ven. 10 mai 07:51:23 ICT 2013
J'ai supprimé la exitcommande afin de ne pas fermer la session shell lorsque la dernière tmuxfenêtre est fermée:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
La chose étrange est:
- ssh to server -> la barre de titre:
quanta@Ubuntu - détacher de
tmux-> le commutateur de la barre de titre surquanta@server - attacher à
tmuxnouveau -> la barre de titre s'affiche toujours correctementquanta@server
Je ne sais pas si c'est lié à la PROMPT_COMMANDvariable d'environnement ou non:
En dehors de tmux:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
À l'intérieur de tmux:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info.