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
.Réponses:
Problème résolu!
Pour activer le défilement natif de la souris xterm
tmux
, de nombreux sites wiki , Q & A , blog suggèrent d'ajouter une ligne comme:à
~/.tmux.conf
. Et c'est le coupable.Pour autoriser les titres xterm dans la fenêtre du terminal, vous devez également ajouter le
XT
drapeau, quelque chose comme ceci:Source: http://opennomad.com/content/goodbye-screen-hello-tmux
la source
rxvt
, le réglage estset -ga terminal-overrides ",rxvt*:XT"
-a
option avecset
pour ajouter les remplacements smcup / rmcup. Cela corrigera d'autres problèmes étranges, comme le fait de ne pas pouvoir définir correctement la forme du curseur.Je suis tombé sur ce fil depuis la liste de diffusion tmux-users. Le fil était intitulé: set-title ne fonctionne pas . Il y a quelques choses à essayer dans ce fil. Il existe également une version plus propre du fil ici.
Ressources XTerm
Pour commencer, le correctif éventuel consistait à ajouter la ligne suivante à votre fichier XTerm Resources
~/.Xresources
:Déboguer les astuces tmux
Il y avait aussi quelques conseils de débogage dans ce fil qui pourraient également vous aider.
tmux verbeux
tmux -vvvvv
vi foo
Après cela, vous devriez avoir 3 fichiers, quelque chose comme ceux-ci:
info tmux
la source
XTerm*allowSendEvents: true
n'a pas fonctionné. Les fichiers journaux ont été téléchargés. Voir ma question mise à jour.