Zarządzanie sesjami Tmux

Zarządzanie sesjami Tmux
Praca zdalnie nad różnymi maszynami może stać się przytłaczająca bez korzystania z programu takiego jak TMUX. Ponadto konieczność śledzenia pracy na każdym komputerze, próbując pamiętać, w jakim miejscu byłeś w każdym oknie terminalu dla każdego urządzenia.

Jednak w przypadku programu takiego jak TMUX, ten koszt energii i czasu programistów jest całkowicie usuwany. Ponadto, dzięki TMUX, możesz nie tylko pracować z wieloma maszynami i wieloma środowiskami jednocześnie, ale można również szybko przełączać się między nimi. Dlatego nauczenie się, jak lepiej obsługiwać sesje Tmux, może potencjalnie zwiększyć wydajność i zdolność do pracy.

Lista sesji Tmux

Aby pokazać listę wszystkich sesji TMUX obecnie działających na komputerze, polecenie Tmux LS jest używane w terminalu, jak pokazano poniżej:

Informacje podane przez polecenie Tmux LS pojawiają się w następującej kolejności:

  • Witryna 1, która jest nazwą sesji Tmux wymienionej tutaj,
  • 2 Windows, które pokazują, ile okien jest w sesjach TMUX na stronie internetowej, i
  • (Utworzono 9 czerwca 03:08:42 2022), który pokazuje datę utworzenia sesji.

Jeśli maszyna nie ma żadnych sesji Tmux, gdy uruchamiasz polecenie Tmux LS, pokazano następujące dane wyjściowe:

Zmiana nazwy sesji tmux

Podobnie jak wiele innych operacji dla TMUX, zmiana nazwy sesji w Tmux można wykonać na jeden z dwóch sposobów. Pierwszym sposobem zmiany nazwy sesji w Tmux jest to, aby zrobić to spoza sesji, w terminalu. Użyj następującego polecenia, aby zmienić nazwę sesji:

$ tmux Zmień nazwę -session -t

Na przykład na zrzucie ekranu poniżej uruchomi się sesja TMUX, o nazwie WebDev, którą chcemy zmienić nazwę na stronie internetowej1.

Jeśli operacja zmiany nazwy się powiodła, polecenie niczego nie wytwarza i możemy sprawdzić nową nazwę sesji za pośrednictwem $ Tmux LS, jak pokazano:

Drugi sposób na zmianę nazwy sesji TMUX jest z wewnątrz sesji. Podobnie jak powyższy przykład, zmienimy nazwę następującej sesji z WebDev na stronę internetową 1:

Kluczowa kombinacja Prefiks, $ jest używany do osiągnięcia tego. Na przykład w mojej instalacji Ubuntu ta kombinacja klucza byłaby Ctrl + B, $.

Wynik pokazano na zrzucie ekranu. Jak widać, sesja nazywa się teraz stroną internetową1 w lewym dolnym rogu Tmux:

Tworzenie nowej sesji TMUX z nazwą

Podobnie, jeśli chcesz utworzyć sesję TMUX z wcześniejszą nazwą, zamiast zmienić ją później, możesz użyć następującej składni dla TMUX Nowe polecenie:

$ tmux new -s

Na przykład, jeśli chcesz utworzyć inną sesję, w której konfigurujesz kolejny zdalny serwer do użytku VPN, możesz utworzyć sesję TMUX o nazwie VPNServer za pomocą następującego polecenia:

$ tmux new -s vpnserver

Ta nowa sesja TMUX pokazano poniżej:

Dołączenie do sesji Tmux

Jeśli chcesz dołączyć swój terminal do aktualnie uruchomionej sesji TMUX, poleceniem jest:

$ tmux załącz -t

Na przykład, jeśli chcesz kontynuować pracę w sesji witryny1, a obecnie Twój terminal nie jest dołączony do tej konkretnej sesji TMUX, uruchamiasz następujące polecenie:

$ tmux załącznik -t strona internetowa 1

Aby uzyskać listę sesji, do których możesz dołączyć, użyj polecenia LS, jak pokazano w sekcji powyżej.

Odłączanie od sesji Tmux

Odłączanie od Tmux wymaga użycia polecenia Prefiks + d. Na przykład w mojej instalacji Ubuntu poleceniem prefiksu jest Ctrl + B, więc aby odłączyć się od aktualnie działającej sesji, muszę nacisnąć Ctrl + B, a następnie naciśnij D, aby odłączyć się. Po oderwaniu terminalu od sesji TMUX sesja wciąż działa. Oznacza to, że wszelkie procesy, które pozostawiłeś w sesji, takie jak HTOP, pobieranie pliku przez Curl lub dowolne polecenie wsadowe, będą działać do momentu zakończenia.

Ta funkcja TMUX działa dobrze dla zdalnych serwerów, na których musisz zainicjować proces, a następnie pozwolić mu działać w tle. W przeciwieństwie do bezpośredniego uruchamiania polecenia z terminalu przez SSH, używanie TMUX umożliwia użycie polecenia odłączania do uruchomienia dowolnego procesu w tle.

Zabijanie sesji tmux

Zabicie sesji Tmux całkowicie ją niszczy. Dlatego to polecenie powinno być używane ostrożnie. To polecenie nie jest odwracalne i może prowadzić do utraty pracy.

Podobnie jak zmiana nazwy sesji Tmux, istnieją dwa sposoby zabicia indywidualnej sesji. Pierwszym sposobem jest terminal, a drugi pochodzi z sesji Tmux.

Aby zabić sesję TMUX z terminala, użyj następującego polecenia:

$ tmux zabójstwo -session -t

Na przykład, jeśli mam uruchomioną sesję TMUX o nazwie VPNServer i chcę ją zabić za pomocą terminala, mogę użyć następującego polecenia:

$ Tmux Kill -session -t vpnserver

Jak pokazano poniżej, sesja nie jest już dostępna i jest zniszczona.

Drugi sposób zabicia sesji Tmux jest z wewnątrz sesji. Po prostu wyjdź ze wszystkich patelni i okien działających podczas tej sesji i wyjdź z ostatniego okna sesji. Spowoduje to zabicie sesji, tak jak miałaby to za pośrednictwem terminalu. Poniższy zrzut ekranu pokazuje działającą sesję Tmux o nazwie VPNServer:

Kiedy dołączamy nasz terminal do tej sesji i wychodzimy z wszystkich okien, sesja jest zabijana. Można to zobaczyć na zrzutach ekranu poniżej:

Po wyjściu ze wszystkich okien sesji VPNServer, Tmux LS pokazuje, że sesja została zabita:

Zabijanie wszystkich sesji tmux na maszynie

Wreszcie, jeśli chcesz zabić wszystkie sesje Tmux na komputerze, możesz użyć następującego polecenia:

$ Tmux Kill-Server

Jak pokazano na zrzucie ekranu poniżej, uruchomione są dwie sesje Tmux, WebDev i VPNServer. Jeśli uruchomisz polecenie Kill-Server, obie sesje zostaną zabite:

W skrócie:

Aby rozpocząć sesję TMUX, użyj następującego polecenia:

$ tmux new -s

Aby odłączyć się od bieżącej sesji TMUX, użyj następującej kombinacji klucza Tmux:

Ctrl + B D

Aby ponownie zarejestrować sesję TMUX, użyj następującego polecenia:

$ tmux załącz -t

Aby zmienić nazwę sesji TMUX, użyj następującego polecenia:

$ tmux Zmień nazwę -session -t

Możesz także zmienić nazwę aktualnie działającej sesji TMUX za pomocą następującej kombinacji klawisza TMUX:

Ctrl + b ,

Ponadto możesz użyć następującego polecenia, aby zabić sesję TMUX:

$ tmux zabójstwo -session -t