/TMUX czy Screen? Choose wisely…

TMUX czy Screen? Choose wisely…

Podziel się

Jeśli nie wiesz o co chodzi w tytule polecam odpuścić sobie ten artykuł, poprosić wujka Google o informacje, obadać temat, a dopiero po tym spojrzeć co tutaj popełniłem (a jeśli jesteś leniwy to czytaj dalej, co mi tam…).

Screen

Od lat używam screen’a. Jest to program umożliwiający tworzenie wirtualnych terminali (like tty), by w bash’u mieć możliwość używania okienek. Screen pozwala tworzyć sesje, na których możemy budować panele w celu ułatwienia sobie pracy np. przy kodzeniu lub debugowaniu.

Na screenshocie powyżej macie przykładowe użycie screen’a, panele można dodawać jak nam się podoba. Używanie go jest dobrą opcją, gdy używamy aplikacji serwerowych, do których mamy wbudowaną konsolę zarządzania pozwalającą na ingerencje w powłokę systemową podczas działania serwera.
Zazwyczaj, gdy uruchamiamy aplikacje serwerową nie będącą daemon’em i nie przewidujemy dalszego inputu, ponieważ pozostawiliśmy kwestie zarządzania klientowi lub nie ma możliwości modyfikacji działającego już kodu, zazwyczaj uruchamiamy serwer, przekierowujemy (bądź nie) stdout do /dev/null, a sam proces wrzucamy w tło i disownujemy go (aby nie zabić programu). Jednakże, gdy mamy aplikacje gdzie chcemy mieć dostęp do konsoli, utrzymać sesję telnet lub ssh, a w międzyczasie zająć się czymś innym to screen przychodzi z pomocą. Każdą sesje możemy detach’ować, a następnie przywrócić ją kiedy chcemy. Screen jest bardzo stabilną opcją i to jest jego największym plusem.

TMUX

Tmux’a znam od niedawna jednakże zaimponował mi już na wejściu.

Po pierwsze, używany lokalnie, daje nam możliwość ingerowania kursorem w layout naszych paneli (zmieniać ich wielkości, scrollować i kopiować tekst z danego panelu do innego). Posiada bardzo łatwe zarządzanie sesjami i oknami. Okna można dowolnie nazywać by następnie odwoływać się po nadanej im nazwie. Do TMUX’a istnieją narzędzia takie jak np. tmuxinator, który pozwala zapisywać gotowe layouty naszych okien, by zawsze móc odtworzyć wygodne ich ułożenie. Dzięki wsparciu powerline’a daje nam, naprawdę, graficznie cieszący oko terminal. Łatwo jest go skonfigurować pod siebie dzięki rebind’ingowi hotkeyów.

To TMUX czy Screen?

Uważam że screen to dobre narzędzie serwerowe dzięki swojej stabilności i prostocie. Jest bardzo lekkim programem i nadal warto go używać do prostych zastosowań. Jednakże TMUX jest dla użytkownika terminala tym, czym IDE dla programisty. Pozwala wygodnie z niego korzystać i bardzo ułatwić pracę. Oba programy mają tony feature’ów których nie opisałem, jeśli kogoś interesuje ten temat zachęcam do zabawy samemu. Z pewnością każdy znajdzie coś dla siebie.


Podziel się

Wiceprezes grupy XOR, sysadmin i programista, bash'owy guru. Rodzice porzucili go w serwerowni i wychowały go patch panele. Nienawidzi powtarzalnych rzeczy więc jego hobby to automatyzacja i pisanie skryptów.