Ich verwende es, tmux
um meine Fenster usw. zu verwalten. Dabei stelle ich unter anderem per SSH eine Verbindung zu einem Remote-Server her und verbinde mich mit einer dort laufenden Tmux-Sitzung. Dort angekommen kann ich jedoch kein Cb an diese Tmux-Sitzung senden (die in meinem ursprünglichen, lokalen Tmux per SSH läuft).
Gibt es eine Möglichkeit, das zu umgehen?
Antwort1
Drücken Sie Ctrl- beinmal für die lokale tmux
und erneut für die Remote-Sitzung und dann die Taste für den Befehl, den Sie in der Remote-Sitzung verwenden möchten.
Antwort2
CtrlWenn Sie + b Ctrl+ nicht zugeordnet habenb
CtrlWenn Sie + b Ctrl+ nicht auf last-window abgebildet haben, bum das Verhalten des Bildschirms zu emulieren (was recht beliebt ist), können Sie dies als Präfix für die innere tmux-Sitzung verwenden. Um Befehle an die innere Sitzung auszugeben, verwenden Sie also Ctrl+ b Ctrl+b Befehl
Die obige Antwort geht davon aus, dass Ihr Präfixschlüssel auf beiden Maschinen immer noch Ctrl+ ist.b
Wenn Sie Ctrl+ b Ctrl+ zugeordnet habenb
CtrlWenn Sie + b Ctrl+ zugeordnet haben b, müssen Sie den :send-prefix
Befehl von tmux verwenden. Viele Leute ordnen dies Ctrl+ zu b b, um das Standardverhalten von screen zu emulieren. Sie würden dies zu Ihrer .tmux.conf hinzufügen, um diese Bindung dauerhaft hinzuzufügen:
bind b send-prefix
Anschließend können Sie Befehle an die innere Sitzung senden mit Ctrl+b b Befehl
(oder ohne die Bindung mit Ctrl+b :send-prefix
Befehl)
Die obige Antwort geht davon aus, dass Ihr Präfixschlüssel in der äußeren Sitzung immer noch Ctrl+ ist.b
Antwort3
Kurz gesagt können Sie die folgende Zeile in Ihre tmux.conf einfügen, um „tmux innerhalb von tmux“ zu steuern. Diese Zeile definiert Ihren Bindungsschlüssel CTRL+A
für die „Remote“-Sitzung.
bind-key -n C-a send-prefix
Die Tastenkombination C-a
kann durch jede andere freie Taste ersetzt werden.
Dann können Sie es verwenden, CTRL+B
um Ihre Tmux-Sitzung auf Level 1 (Standard) zu steuern und
CTRL+A
um die zweite Tmux-Sitzung zu steuern.