nach der verwendung von tmux oder bei der erstmaligen verwendung?
Vitor Abella
Normalerweise luanchst du tmux, machst ein paar Sachen und trennst dich dann. Anschließend verwenden Sie tmux attach, um zur vorherigen Sitzung zurückzukehren.
Stephen
Antworten:
21
Ich möchte sehen, was in einer von mir erstellten Sitzung vor sich geht.
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.
Wenn Sie derzeit keine tmux-Sitzung ausführen (oder sich derzeit nicht in einer tmux-Sitzung befinden), führen Sie eine Verbindung durch tmux attach -t n(wobei -t für die Zielsitzung und n für diese Sitzungsnummer steht).
Wenn Sie in einer anderen tmux Sitzung ausgeführt werden Sie einen Fehler versuchen zu einer anderen Sitzung zu verbinden , so ist der einfachste Weg , um zu sehen , was dort läuft , ist das verwenden tmux list-windows -aBefehl dann bewegen , was Bereich / Fenster Sie die Aufgabe in Laufen haben.
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 Fensters, das Sie verschieben möchten, und n2 Nummer des Fensters, in das Sie verschieben möchten ).
Format
Die Nummern n1 und n2 sind wie folgt geordnet / formatiert 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.
Verschieben von Fenstern 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 kein Fenster in einem anderen Fenster verschieben können).
Sie verwenden fast die gleiche Syntax beim Verschieben eines Fensters, tun dies jedoch tmux move-pane -s *n1* -t *n2*.
Wobei n1 jetzt wie n2 formatiert sessionNumb:windowNumb.paneNumbist .
Wenn ich nun das Fenster "Chat" von der ersten Sitzung in meine zweite Sitzung verschiebe, muss ich ausführen tmux move-window -s 0:3 -t 1:4( ich kann das Fenster nicht in ein bereits erstelltes Fenster verschieben).
Verschieben eines Fensters
Wenn Sie nur ein Fenster verschieben müssen, tmux list-panes -aoder wenn Sie bereits wissen, aus tmux list-panes -t 0:1welchem Fenster es stammt, können Sie die obigen Erläuterungen zum Format anzeigen .
Die Ergebnisse zeigen, dass Fenster 1 von Sitzung 0 (-s 0: 1) über diese Bereiche verfügt.
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
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 das gewünschte Fenster (sagen wir das vim-Fenster) identifiziert haben, müssen Sie es verschieben.
tmux move-pane -s 0:1.1 -t 1:1.2um in diesem Fall zu einem bestimmten Bereich zu wechseln 2
Wenn Sie nur einen Bereich im tmux move-pane -s 0:1.1 -t 1:1.Zielfenster haben, können Sie keinen Zielbereich auswählen, und er funktioniert weiterhin.
tmux attach
?Antworten:
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.
Wenn Sie derzeit keine tmux-Sitzung ausführen (oder sich derzeit nicht in einer tmux-Sitzung befinden), führen Sie eine Verbindung durch
tmux attach -t n
(wobei -t für die Zielsitzung und n für diese Sitzungsnummer steht).Wenn Sie in einer anderen tmux Sitzung ausgeführt werden Sie einen Fehler versuchen zu einer anderen Sitzung zu verbinden , so ist der einfachste Weg , um zu sehen , was dort läuft , ist das verwenden
tmux list-windows -a
Befehl dann bewegen , was Bereich / Fenster Sie die Aufgabe in Laufen haben.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 Fensters, das Sie verschieben möchten, und n2 Nummer des Fensters, in das Sie verschieben möchten ).Format Die Nummern n1 und n2 sind wie folgt geordnet / formatiert
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.
Verschieben von Fenstern 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 kein Fenster in einem anderen Fenster verschieben können).
Sie verwenden fast die gleiche Syntax beim Verschieben eines Fensters, tun dies jedoch
tmux move-pane -s *n1* -t *n2*
.Wobei n1 jetzt wie n2 formatiert
sessionNumb:windowNumb.paneNumb
ist .Beispiele
Nachdem
tmux list-windows -a
Sie so etwas habenWenn ich nun das Fenster "Chat" von der ersten Sitzung in meine zweite Sitzung verschiebe, muss ich ausführen
tmux move-window -s 0:3 -t 1:4
( ich kann das Fenster nicht in ein bereits erstelltes Fenster verschieben).Verschieben eines Fensters
Wenn Sie nur ein Fenster verschieben müssen,
tmux list-panes -a
oder wenn Sie bereits wissen, austmux list-panes -t 0:1
welchem Fenster es stammt, können Sie die obigen Erläuterungen zum Format anzeigen .Die Ergebnisse zeigen, dass Fenster 1 von Sitzung 0 (-s 0: 1) über diese Bereiche verfügt.
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
Nachdem Sie das gewünschte Fenster (sagen wir 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 2Wenn Sie nur einen Bereich im
tmux move-pane -s 0:1.1 -t 1:1.
Zielfenster haben, können Sie keinen Zielbereich auswählen, und er funktioniert weiterhin.Ich hoffe das beantwortet die Frage.
quelle
Nach der obigen Antwort können Sie versuchen:
tmux ls
um die Sitzungsnummer zu erhalten. Und danntmux attach-session -t <session_number>
quelle