Kiedyś połączyłem się ze zdalnym serwerem przez SSH.

Wprowadziłem kilka zmian, i chciałem jeszcze uruchomić aktualizację systemu.

Uruchomiłem ją i stwierdziłem, że teraz mógłbym w sumie zamknąć to okno terminala.

Dopóki jednak aktualizacja była w toku, zamknięcie terminala oznaczałoby jej przerwanie - oby nie dodatkowo na etapie samego wprowadzania zmian w systemie!

Czasem po prostu niezbędny

Najgorsze jest to, że czasami akurat muszę wtedy wyjść z terminala - bo np. MacOS stwierdził, że restart w celu zaktualizowania systemu musi zostać wykonany w ciągu 60 sekund i tyle właśnie mam, bezdyskusyjnie, na zakończenie wszystkiego, co robię na komputerze.

To ostatnie to przypadek bardzo rzadki, ale zdarzył mi się rzeczywiście. Nigdzie nie mogłem znaleźć przycisku "Anuluj odliczanie", "Może później", "Dodatkowe 15 minut" czy podobnego.

Od dawna nawykowo pierwsze, co robię po otwarciu zdalnej sesji SSH jest uruchomienie Tmuxa.

$ tmux new -As default

W tym oknie mogę uruchomić dowolny proces, i zamknąć konsolę pozostawiając ten proces by działał dalej.

[Ctrl]+[B], [D]

Przydatny też lokalnie

Ostatnio by móc zamknąć okno konsoli na czas pracy długo trwających procesów, korzystam z Tmuxa również lokalnie.

$ tmux new -As local

W takim przypadku używam jako nazwy sesji słowa "local" zamiast "default". Cel: szybko później odróżnić, czy pracuję w sesji lokalnej, czy zdalnej.

Robię tak od dnia, w którym oczyściłem katalog ~/.ssh z przekonaniem, że pracuję na serwerze zdalnym, podczas gdy pracowałem na lokalnym.

Dlaczego nie Screen

To dobre pytanie!

Używałem w opisanej roli komendy screen przez długi czas, nim przeszedłem na tmux.

Pewnego razu stwierdziłem, że bardzo potrzebuję czegoś, czego nie potrafiłem zrobić w screen-ie, a było dostępne od ręki w tmux.

Nie pamiętam, co to było.

Podejrzewam, że miało coś wspólnego z obsługą polskich znaków diakrytycznych, ale pewien nie jestem.

Widzę natomiast, że na Fedorze, screen obsługuje dziś takie znaki bez problemu.

A może Nohup

Sebastian używa w podobny sposób narzędzia Nohup [1].

Dla mnie to Screen był pierwszym tego typu narzędziem, które wypróbowałem.

Ten program wydaje mi się najprostszy z omawianych. Może też być dostępny na systemach, na których Tmux albo Screen trzeba by ręcznie doinstalować (jeśli mamy uprawnienia).

Sebastian używa tego narzędzia od dawna i do tej pory nie wspomniał o nawet jednej jego wadzie.

Stąd podejrzewam, że jeśli szukasz programu dla siebie i lubisz minimalizm, to właśnie Nohup może być dla Ciebie najlepszym punktem początkowym!


  1. https://pl.wikipedia.org/wiki/Nohup ↩︎