Tmux część 2 - okna i sesje

Posted by Adam Aciek Paszkiewicz on sob 29 stycznia 2022 Updated on sob 29 stycznia 2022 Translations: en

Tmux - zabawa z oknami i sesjami

Z artykułu Tmux - zabawa z dzieleniem terminala wiemy już jak możemy podzielić terminal na kilka pseudoterminali i uruchamiać w nich procesy czy jednocześnie wyświetlać informacje. Tym razem zajmijmi się oknam i podstawowymi funkcjami sesji w Tmux. De facto jak dzieliliśmy terminal w poprzednim artykule to wszystkie te podziały były wykonywane w ramach jednego okna o numerze 0 i jednej sesji o nazwie 0. Jestem ciekawy czy zauważyliście to w lewym dolnym rogu terminala jak nie to zaraz Wam to pokażę.

Odpalmy tmux i zobaczmy czy tak jest.

tmux

tmux2

Jest tak jak powiedziałem. Brawo ja :)

Spróbujmy utworzyć kolejne okno, a przy tej okazji nauczymy się jak to zrobić. Jak pamiętamy najważniejszym skrótem w tmux jest control + b który będzie do tego niezbędny. Zatem utworzymy nowe okno za pomocą następującej kombinacji klawiszy:

control + b oraz c

I jak wygląda teraz nasz tmux?

tmux2

Jak widzimy mamy teraz 2 okna o numerach 0 i 1. Okno aktywne zaznaczone jest gwiazdką. Nauczymy się jak przełączać się pomiędzy oknami. Aby przejść do następnego okna wystarczy użyć skrótu:

control + b oraz n

Z kolei powrót do poprzedniego to:

control + b oraz p

Gdybyśmy mieli otwartych bardzo wiele okien najłatwiej skoczyć do konkretnego numeru:

control + b oraz numer

Nic trudnego czyż nie? Zauważyliście, że okna 0 i 1 nazywają się bash? To dlatego, że domyślnie przyjmują nazwy uruchomionego programu. Gdy odpalimy na jednym z okien top, a na drugim vim to zmienią sie nazwy.

tmux2

Jeżeli chcemy konkretne okno przezwać wystarczy na aktywnym wykonać kombinacje klawiszy:

control + b oraz ,

a następnie podać naszą nazwę dla przykładu zmienimy vim na editor i efekt będzie wyglądał tak:

tmux2

No może na zakończenie tematu okien jeszcze jedna rzecz: jak wyświetlić listę wszystkich okien? Bardzo prosto.

control + b oraz :list-windows

Przejdźmy teraz do sesji. Możemy rozpocząć wiele sesji. Uruchomienie tmux bez argumentów uruchamia domyślną o nazwie 0. Jeśli chcesz, aby sesja miała określoną nazwę, użyj polecenia:

tmux new -s session

session to nasza nazwa sesji.

Czego efektem będzie:

tmux2

Teraz 2 najważniejsze funkcje sesji czyli możliwość odłączenia się od niej i ponownego przyłączenia. Uruchomiliśmy tmux, wystartowaliśmy jakiś proces na oknie i chcemy aby działał w tle, a my odłączamy się od sesji, pozostawiając procesy dalej będą uruchomione. Aby tak się stało wystarczy użyć:

control + b oraz d

Ekran terminala po starcie naszej sesji o nazwie session i odłączeniu się od niej będzie wyglądał mniej więcej tak:

aciek@nielot:~$ tmux new -s session
[detached (from session session)]

Aby połączyć się ponownie z ostatnią sesją wytarczy wykonać polecenie

tmux a

lub jeżeli chcemy połączyć się z konkretną sesją np. naszą sesją o nazwie session wykonujemy polecenie:

tmux a -t session

czego efektem będzie połączenie z sesją session.

tmux2

A teraz chciałbym pokazać ostatnią rzecz na dzisiaj czyli jak zobaczyć uruchomione sesje w oknie terminala. Jest to bardzo łatwe do wykonania. Wystarczy będąc połączonym w jednej z uruchomionych sesji wykonać sekwencję:

control + b oraz s

Jeżeli będzie więcej niż jedna sesja terminal będzie wyglądał na podobieństwo tego poniżej i będzie można poruszać się kursorem, a na dole będą pokazane miniatury okien w danej sesji, a po akceptacji połączymy się z nią.

tmux2

No to mamy już wiedzę na temat sesji, okien jak i paneli w Tmux i umiemy się po nich poruszać. Umiemy uruchomić procesy, odłączyć się od sesji, a następnie ponownie do nich połączyć. To świetne narzędzie i ręczę słowem, że ma jeszcze wiele do odkrycia, a to co wiemy to zaledwie podstawy a już te dają nam już sporo możliwości. Bawcie się dobrze przy odkrywaniu kolejnych.

Ave :)