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 -vvvvv
un 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 à tmux
partir de là fonctionne également comme prévu.
Mais si je veux commencer tmux
immédiatement après la connexion, la barre de titre reste quanta@Ubuntu
après ssh.
MISE À JOUR ven. 10 mai 07:51:23 ICT 2013
J'ai supprimé la exit
commande afin de ne pas fermer la session shell lorsque la dernière tmux
fenê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 à
tmux
nouveau -> la barre de titre s'affiche toujours correctementquanta@server
Je ne sais pas si c'est lié à la PROMPT_COMMAND
variable 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
.