Niedawno opisywaliśmy polecenie screen – od lat używane do zarządzania wirtualnymi konsolami. Jako uzupełnienie tego tematu warto wspomnieć również o innym programie, który zaprojektowany został w ramach projektu BSD jako unowocześniony odpowiednik screena – tmux (skrót od terminal multiplexer).
Podobnie jak jego poprzednik, tmux pozwala nam ponownie się połączyć do utraconej sesji ssh, dołączyć innego użytkownika do utworzonej okna, czy też pomóc w zarządzaniu długo trwającymi skryptami. Dodatkowo możemy skorzystać z opcji podziału okna na kilka terminali i zarządzać na ekranie jednocześnie kilkoma programami na raz. Co ciekawe w Red Hat Enterprise od wersji 8 tmux jest używany jako domyślny zamiast screena.
Instalacja
Instalacja programu nie powinna stanowić problemu, ponieważ od dłuższego czasu tmux znajduje się w repozytoriach większości dystrybucji. Dla dystrybucji Debian lub Ubuntu będzie to więc polecenie:
apt install tmux
W przypadku pozostałych dystrybucji oraz innych metod instalacji, możemy zapoznać się ze szczegółowymi informacjami, zamieszczonymi na stronie wiki projektu: https://github.com/tmux/tmux/wiki/Installing.
Kilka podstawowych komend:
Podstawowe uruchomienie programu następuje po wpisaniu komendy tmux.
$ tmux
Wylistowanie uruchomionych sesji tmux:
$ tmux ls
Połączenie z ostatnio utworzoną sesją:
$ tmux a
Wyjście z sesji i pozostawienie jej w tle:
ctrl + b oraz d
Dla ułatwienia orientacji w utworzonych sesjach możemy nadawać im nazwy, np.:
tmux new -s “aktualizacja systemu”
tmux new -s “zdalna konsola”
Sesje będą teraz łatwo rozpoznawalne przy listowaniu, a te bez nadanych nazw będą oznaczone kolejnym numerem:
$ tmux ls
2: 1 windows (created Wed Mar 17 13:15:57 2021)
aktualizacja systemu: 1 windows (created Wed Mar 17 13:12:50 2021)
zdalna konsola: 1 windows (created Wed Mar 17 13:13:06 2021)
Aby podłączyć się do sesji oznaczonej nazwą wpiszemy więc polecenie:
$ tmux a -t “aktualizacja systemu”
Analogicznie dla sesji bez nazwy użyjemy po prostu jej numeru:
$ tmux a -t 2
Bardziej zaawansowane funkcje
Podczas uruchamiania sesji możemy jednocześnie podać komendę do wykonania, na przykład jednocześnie uruchomić program top.
$ tmux new -s “top” top
Aby sesja od razu uruchomiła się w tle wystarczy dodać do polecenia opcję -d:
$ tmux new -d -s “top” top
W przypadku kiedy chcemy przewinąć listę wyników do poprzednich ekranów należy użyć skrótu Ctrl+b oraz klawisza [. Od tej pory możemy klawiszami PgUp i PgDown przewijać ekran w górę i w dół, a w prawym górnym rogu pojawi się miejsce w linijkach gdzie jesteśmy.
Ekran sesji tmux możemy bez problemu podzielić na kilka mniejszych paneli. Za pomocą kombinacji klawiszy Ctrl+b oraz % podzielimy obraz pionowo, a Ctrl+b oraz “ (podwójny cudzysłów) poziomo. Efekt można zobaczyć poniżej.
Aby poruszać się między panelami używamy kombinacji klawiszy Ctrl+b oraz [strzałka] w kierunku zmiany lub Ctrl+b oraz o aby przechodzić po kolei do następnych paneli. Aktywny panel podświetlony jest na zielono. Aby zmienić wielkość paneli o jeden znak używamy kombinacji Ctrl+b oraz Ctrl+[strzałka], aby zmienić wielkość o 5 znaków Ctrl+b oraz Alt+[strzałka].
Aby ubić działającą sesję bez konieczności jej otwierania i zamykania poleceniem exit (np. zdalnym poleceniem) możemy wykorzystać polecenie kill-session i podać identyfikator sesji.
$ tmux kill-session -t “aktualizacja systemu”
Otwarta sesja może również posiadać kilka otwartych okien, aby uruchomić nowe należy użyć kombinacji Ctrl+b oraz c. Poruszać się między oknami można za pomocą Ctrl+b oraz cyfr od 0 do 9 aby przejść do konkretnego okna. Przechodzić można również bezpośrednio do następnego okna kombinacją Ctrl+b oraz n lub przy pomocy Ctrl+b oraz l (małe L) do poprzedniego.
W każdym oknie możemy przejść do linii poleceń, gdzie można wydawać polecenia tmux bezpośrednio. Używamy do tego kombinacji Ctrl+b oraz : [dwukropek]. W dolnym pasku stanu pojawi się możliwość wpisania polecenia – możemy tam na przykład wpisać polecenie ls by zobaczyć listę aktywnych sesji tmux, czy też new-window ‘vi ~/.tmux.conf’ aby utworzyć nowe oknto i rozpocząć edycję pliku konfiguracyjnego tmux w edytorze vi.
Lista funkcji oraz możliwości konfiguracji tmux są naprawdę szerokie i ciężko by było je wszystkie tutaj opisać. Jednak aby rozpocząć z nim pracę i porównać do standardowego “screena” powinno wystarczyć.
Pełną listę możliwości możemy zobaczyć na stronie manuala.
Strona projektu: https://github.com/tmux/tmux/wiki
Nie działa u mnie skrót ctrl + b . Jak to wpisywać ? np skrót ctrl + b plus d
post 100 % vok 🙂
Dzięki 🙂 Niebawem kolejne…