it-swarm.com.de

Wie greife ich auf die tmux-Sitzung zu, nachdem ich sie verlassen habe?

Ich verwende tmux unter EC2 AWS, möchte aber in einer von mir erstellten Sitzung sehen, was gerade passiert.

Ich benutze Ctrl+b und dann d die Sitzung zu verlassen.

Verwendung von Ubuntu 16.04

13
Vitor Abella

Ich möchte in einer von mir erstellten Sitzung sehen, was los ist.

Soweit ich weiß, können Sie Ihre tmux-Sitzungsliste anzeigen, indem Sie verwenden

tmux list-sessions um zu sehen, welche Sessions gerade auf tmux laufen.

Um tatsächlich zu sehen, was in diesen Sitzungen ausgeführt wird, müssen Sie der jeweiligen Sitzung eine Anlage hinzufügen. Dazu haben Sie (aus Erfahrung) zwei Möglichkeiten.

  1. Wenn Sie derzeit keine tmux-Sitzung ausführen (oder sich noch nicht in einer tmux-Sitzung befinden), können Sie eine Verbindung herstellen, indem Sie tmux attach -t n ausführen (wobei -t für die Zielsitzung und n für diese Sitzungsnummer steht).

  2. Wenn Sie in einer anderen tmux-Sitzung arbeiten, wird beim Versuch, eine Verbindung zu einer anderen Sitzung herzustellen, eine Fehlermeldung angezeigt. Verwenden Sie also am einfachsten den Befehl tmux list-windows -a und dann move welchen Bereich auch immer/window, in dem die Aufgabe ausgeführt wird.

Verschieben eines Fensters mit tmux move-window -s n1 -t n2 ( - s == Quellfenster , -t == Zielfenster , an das das Quellfenster angehängt wird. n1 == Nummer des von Ihnen ausgewählten Fensters wollen sich bewegen und n2 ist die Nummer des Fensters, in das Sie sich bewegen).

Format Die n1 & n2 Zahlen sind bestellt/formatiert als sessionNumb:windowNumb. Die erste Sitzung im ersten Fenster ist also 0: 1, und die zweite Sitzung im ersten Fenster ist 1: 1.

Hinweis. n2 muss eine verfügbare Sitzung mit einem noch nicht erstellten Fenster sein. Wenn Sie ein Fenster in ein bereits erstelltes Fenster verschieben, wird die Fehlermeldung "Zielfenster ist nicht leer" angezeigt, und wenn Sie zu einer nicht erstellten Sitzung wechseln, wird die Fehlermeldung "Sitzung n kann nicht gefunden werden" ausgegeben.

Moving Pane Manchmal haben Sie in einem Fenster möglicherweise mehrere Fenster und müssen nur ein Fenster verschieben. Dies ist hilfreich, wenn Sie nur dieses eine Fenster in Ihrem aktuellen Fenster verschieben möchten (da Sie es nicht verschieben können) ein Fenster in einem anderen Fenster).

Sie verwenden fast die gleiche Syntax beim Verschieben eines Fensters, aber Sie tun tmux move-pane -s *n1* -t *n2*.

Wobei n1 jetzt als sessionNumb:windowNumb.paneNumb formatiert ist und n2 .

Beispiele

Nach tmux list-windows -a wirst du so etwas haben

0:1: Project- (4 panes) [177x48]
0:2: Mirror (3 panes) [177x48]
0:3: Chat! (1 panes) [177x48]
0:4: ssh* (1 panes) [177x48]
1:1: zsh (2 panes) [176x45]
1:2: zsh* (1 panes) [176x45]
1:3: zsh- (1 panes) [176x45]

Wenn ich nun das Fenster "Chat" von der ersten Sitzung in meine zweite Sitzung verschiebe, muss ich tmux move-window -s 0:3 -t 1:4 ausführen (ich kann das Fenster nicht in ein bereits erstelltes Fenster verschieben).

Verschieben eines Fensters

Wenn Sie nur ein Fenster verschieben müssen, müssen Sie tmux list-panes -a ausführen, oder wenn Sie das Fenster bereits kennen, aus dem es stammt, können Sie tmux list-panes -t 0:1 ausführen Siehe Formaterklärungen oben .

Die Ergebnisse zeigen, dass Fenster 1 von Sitzung 0 (-s 0: 1) über diese Fensterbereiche verfügt.

1: [177x34] [history 3/10000, 4119 bytes] %7 (active)
2: [88x13] [history 541/10000, 231972 bytes] %8
3: [88x13] [history 2/10000, 1541 bytes] %9

das ist einfach nicht akzeptabel, aber wenn Sie weitere Informationen benötigen, um zu wissen, welchen Bereich Sie wirklich benötigen, können Sie dies tun

tmux list-panes -F "#{pane_current_command}" -t 0:1

in diesem Fenster werden die aktuell ausgeführten Befehle in jedem Bereich angezeigt.

In meinem Fall

vim
zsh
python (sadly it's runnuning `ranger`)

Nachdem Sie also das gewünschte Fenster (sagen Sie das vim-Fenster) identifiziert haben, müssen Sie es verschieben.

tmux move-pane -s 0:1.1 -t 1:1.2, um in diesem Fall zu einem bestimmten Bereich zu wechseln 2

Wenn Sie nur einen Bereich im Zielfenster haben, können Sie tmux move-pane -s 0:1.1 -t 1:1. keinen Zielbereich auswählen, und der funktioniert weiterhin.

Ich hoffe das beantwortet die Frage.

16
ArchNoob