Ich habe kürzlich begonnen, tmux zu verwenden, um meine Terminalsitzungen wirklich zu verbessern. Ich muss in der Lage sein, eine Verbindung zu einem Remote-Server herzustellen, auf dem auch tmux ausgeführt wird. Ich habe jedoch festgestellt, dass der aktuelle Fenstertitel (in tmux als #T bezeichnet) in einer sekundären tmux-Shell nicht aktualisiert wird. Ich möchte den Wert der primären tmux-Sitzung in der sekundären Sitzung aktualisieren.
"#T" übernimmt eindeutig den von PROMPT_COMMAND verarbeiteten Wert. Dies ist ein Befehl, der bei jedem erneuten Laden der Eingabeaufforderung ausgeführt wird. Wenn ich jedoch eine Verbindung zu einem Remote-Server herstelle, wird eine serverseitige Shell geöffnet, die dann tmux öffnet und in der sekundären tmux-Sitzung eine völlig neue Shell ausführt. Die einzige Möglichkeit, den primären tmux-Fenstertitel zu aktualisieren, besteht darin, die serverseitige Shell-Eingabeaufforderung neu zu laden. Dies geschieht jedoch nicht in einer sekundären tmux-Sitzung.
Gibt es einen Befehl, um die beiden Sitzungen so zu verbinden, dass sie #T gemeinsam nutzen? Ich dachte ursprünglich, dass es mit der Option zum Überschreiben von Terminals machbar sein könnte, aber es funktioniert entweder nicht oder ich habe es falsch eingerichtet.
Alle mögliche Gedanken oder Vorschläge würden sehr geschätzt. Vielen Dank!
(PS. Ich vermute, diese Frage ist besser für Superuser geeignet, aber ich hatte zuvor eine Frage zum Stack-Overflow gestellt. Ich hoffe, dies ist das richtige Forum für diese Art von Frage.)
quelle
tmux
Manpage heißt es: „Die Umgebungsvariable TERM mussscreen
für alle Programme, die in tmux ausgeführt werden, auf gesetzt sein. Neue Fenster werden automatischTERM=screen
zu ihrer Umgebung hinzugefügt, aber es muss darauf geachtet werden, dass dies nicht in Shell-Startdateien zurückgesetzt wird. ”tmux attach-session -t $(tmux display -p "#S")
Wert als screen * zurücksetzen, wird am Ende eine Endlosschleife verschachtelter tmux-Sitzungen erstellt (Chaos!). Ich bin mir anderer, extremerer Beispiele möglicher Probleme nicht sicher, aber Sie sollten auf jedenexport TERM=$TEMP_TERM