Um tmux
bei jedem Shell-Login zu starten , wurde dem ~/.bashrc
(auf dem Server) Folgendes hinzugefügt :
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Ich möchte auch den Fenstertitel in so etwas wie user@server
(anstelle von user@localhost
) als SSH in einen Host ändern . Hier ist mein ~/.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@'
Wie Sie sehen, set-titles
wurde festgelegt on
, aber es funktioniert nicht wie erwartet.
Mehr Informationen:
Außerhalb von tmux:
$ echo $TERM
xterm
Innerhalb von tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
Und hier sind die Protokolle, wenn Sie tmux -vvvvv
ein bisschen laufen :
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Wenn ich die Zeilen in ~/.bashrc
, von meinem Laptop, ssh zum Server auskommentiere, wird die Titelleiste korrekt angezeigt ( quanta@server
), dann tmux
funktioniert der Start von dort auch wie erwartet.
Aber wenn ich tmux
sofort nach dem Login starten möchte, bleibt die Titelleiste quanta@Ubuntu
nach ssh.
UPDATE Fr 10 Mai 07:51:23 ICT 2013
Ich habe den exit
Befehl gelöscht , um die Shell-Sitzung beim Schließen des letzten tmux
Fensters nicht zu schließen :
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
Das Merkwürdige ist:
- SSH zum Server -> die Titelleiste:
quanta@Ubuntu
- trennen von
tmux
-> die Titelleiste wechseln zuquanta@server
tmux
Erneut anhängen -> Die Titelleiste wird weiterhin korrekt angezeigtquanta@server
Ich bin nicht sicher, ob es mit der PROMPT_COMMAND
Umgebungsvariablen zusammenhängt oder nicht:
Außerhalb von tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
Innerhalb von tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.Antworten:
Problem gelöst!
Um das Scrollen mit nativen XTM-Mäusen zu ermöglichen , schlagen
tmux
viele Wiki , Q & A-Sites und Blog-Posts vor, eine Zeile wie die folgende hinzuzufügen:zu
~/.tmux.conf
. Und es ist der Täter.Um xterm-Titel im Terminalfenster zuzulassen, müssen Sie auch das
XT
Flag hinzufügen , etwa so:Quelle: http://opennomad.com/content/goodbye-screen-hello-tmux
quelle
rxvt
ist die Einstellungset -ga terminal-overrides ",rxvt*:XT"
-a
Optionset
zum Anhängen der smcup / rmcup-Überschreibungen zu verwenden. Dies behebt andere seltsame Probleme, zum Beispiel, dass die Cursorform nicht richtig eingestellt werden kann.Kam über diesen Thread aus der Mailingliste der tmux-Benutzer. Der Thread hatte den Titel: Set-Titel funktionieren nicht . Es gibt ein paar Dinge aus diesem Thread zu versuchen. Es gibt auch eine sauberere Version des Threads .
XTerm-Ressourcen
Für den Anfang bestand die mögliche Korrektur darin, der XTerm-Ressourcendatei die folgende Zeile hinzuzufügen
~/.Xresources
:Tmux-Tipps debuggen
Es gab auch einige Debugging-Tipps in diesem Thread, die Ihnen ebenfalls helfen könnten.
ausführliche tmux
tmux -vvvvv
vi foo
Danach sollten Sie 3 Dateien haben, so etwas wie diese:
tmux info
quelle
XTerm*allowSendEvents: true
hat nicht funktioniert. Die Protokolldateien wurden hochgeladen. Siehe meine aktualisierte Frage.