Multiplekser terminala – tmux

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

3 komentarze
Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Poprzedni post

Warzone 2100 – wersja 4.0.0-beta1 gotowa do testów

Następny post

Trzy wtyczki WordPressa, które ułatwią migrację strony na nowy hosting

Powiązane posty

Hand of Thief – trojan na Linuksa

Na rynku cyberprzestępców krążyć zaczął trojan Hand of Thief, który za cel obiera sobie klientów banków korzystających z platformy Linux. Nowe zagrożenie opisali specjaliści od zabezpieczeń z firmy RSA.

Trojan o nazwie Hand of Thief potrafi podsłuchiwać sesje HTTP i HTTPS na większości przeglądarek (m.in. Firefox i Chrome), posiada wbudowanego backdoora, blokuje wybrane adresy aby utrudnić pozbycie się go oraz zabezpieczenie przed zdebugowaniem przez specjalistów od zabezpieczeń. Nie różni się tym samym od setek podobnych złośliwych programów, których zadaniem jest zdobycie dostępu do kont bankowości elektronicznej. To co go wyróżnia na ich tle, to platforma, na której działa — jest nią Linux.

Więcej...