Używam tmux na EC2 AWS, ale chcę zobaczyć, co się dzieje w jednej sesji, którą utworzyłem.
Używam Ctrl+, ba potem d wychodzę z sesji.
Korzystanie z Ubuntu 16.04
Używam tmux na EC2 AWS, ale chcę zobaczyć, co się dzieje w jednej sesji, którą utworzyłem.
Używam Ctrl+, ba potem d wychodzę z sesji.
Korzystanie z Ubuntu 16.04
Odpowiedzi:
Chcę zobaczyć, co się dzieje w jednej sesji, którą utworzyłem.
O ile mi wiadomo, możesz przeglądać listę sesji tmux za pomocą
tmux list-sessions
aby zobaczyć, jakie sesje są obecnie uruchomione na tmux.
Aby zobaczyć, co się dzieje w tych sesjach, musisz dołączyć do konkretnej sesji, aby to zrobić, masz dwie opcje (z doświadczenia).
Jeśli obecnie nie prowadzisz sesji Tmux (lub nie jesteś w sesji Tmux), dołączasz, uruchamiając tmux attach -t n
(gdzie -t oznacza sesję docelową, a n to numer sesji).
Jeśli pracujesz w innej sesji tmux, pojawi się błąd podczas próby połączenia się z inną sesją, więc najprostszym sposobem sprawdzenia, co tam jest, jest użycie tmux list-windows -a
polecenia, a następnie przesunięcie dowolnego panelu / okna, w którym uruchomione jest zadanie.
Przenoszenie okna za pomocą tmux move-window -s n1 -t n2
( -s == okno źródłowe , -t == okno docelowe, do którego dołączone zostanie okno źródłowe. N1 == numer okna, które chcesz przenieść, a n2 to numer okna, do którego się przenosisz).
Format
The N1 i N2 numery są sortowane / formatowany jako sessionNumb:windowNumb
. Tak więc pierwsza sesja w pierwszym oknie będzie wynosić 0: 1, a druga sesja w pierwszym oknie będzie 1: 1.
Uwaga. n2 musi być dostępną sesją z nie utworzonym jeszcze oknem. Jeśli przeniesiesz okno do już utworzonego okna, pojawi się komunikat „Okno docelowe nie jest puste”, a przejście do nietworzonej sesji spowoduje błąd „nie można znaleźć sesji n”.
Poruszanie okienkiem czasami w jednym oknie może mieć wiele okien i wystarczy przesunąć tylko jedno okienko, jest to pomocne, jeśli potrzebujesz tylko jednego okienka do poruszania się w bieżącym oknie (ponieważ nie możesz przenieść okna w innym oknie).
Podczas przesuwania okna używasz prawie podobnej składni, ale robisz to tmux move-pane -s *n1* -t *n2*
.
Gdzie n1 jest teraz formowane tak jak sessionNumb:windowNumb.paneNumb
i n2 .
Przykłady
Gdy tmux list-windows -a
będziesz miał coś takiego
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]
Teraz, przenosząc okno „Czat” z pierwszej sesji do drugiej, będę musiał uruchomić tmux move-window -s 0:3 -t 1:4
(pamiętaj, że nie mogę przenieść okna do już utworzonego okna).
Przesuwanie szyby
Jeśli musisz tylko przesunąć okienko, musisz to zrobić tmux list-panes -a
lub jeśli już znasz okno, z którego ono pochodzi, możesz tmux list-panes -t 0:1
zobaczyć wyjaśnienia dotyczące formatu powyżej .
Pojawi się wynik pokazujący, że okno 1 sesji 0 (-s 0: 1) ma te panele.
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
co jest po prostu nie do zaakceptowania, ale jeśli potrzebujesz więcej informacji, aby dowiedzieć się, który panel naprawdę potrzebujesz, możesz to zrobić
tmux list-panes -F "#{pane_current_command}" -t 0:1
która wyświetli aktualne uruchomione polecenia w każdym okienku.
W moim przypadku
vim
zsh
python (sadly it's runnuning `ranger`)
Więc po określeniu, który panel chcesz (powiedz vim), musisz go przenieść.
tmux move-pane -s 0:1.1 -t 1:1.2
w tym przypadku przejść do określonego panelu 2
Jeśli masz tylko jeden panel w oknie docelowym, nie możesz tmux move-pane -s 0:1.1 -t 1:1.
żadnego panelu docelowego i nadal będzie działać.
Mam nadzieję, że to odpowiada na pytanie.
tmux attach
?