Zwykle luanch tmux, zrób coś, a następnie odłącz. Następnie używasz tmux attach, aby wrócić do poprzedniej sesji.
Stephen
Odpowiedzi:
24
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 -apolecenia, 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.paneNumbi n2 .
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 -alub jeśli już znasz okno, z którego ono pochodzi, możesz tmux list-panes -t 0:1zobaczyć wyjaśnienia dotyczące formatu powyżej .
Pojawi się wynik pokazujący, że okno 1 sesji 0 (-s 0: 1) ma te panele.
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 attach
?Odpowiedzi:
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ś takiegoTeraz, 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żesztmux 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.
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
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 2Jeś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.
źródło
Postępując zgodnie z powyższą odpowiedzią, możesz spróbować:
tmux ls
aby uzyskać numer sesji. I wtedytmux attach-session -t <session_number>
źródło