Linux nie jedną ma sesję… – program screen

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Czasem przychodzi taki moment, że musimy odpalić jakiś program pod konsolą tak, aby działał w tle. Wtedy przychodzi nam na pomoc program screen. Tworzy on nie ograniczoną… liczbę powłok systemowych, (osobiście nazywam je sesjami) bez potrzeby logowana się bezpośrednio do niej. Innymi słowy screen odpala program, który działa dalej po wylogowaniu się z „sesji”. Przydatna rzecz w momencie, gdy mamy do ściągnięcia bardzo duży plik, a w tym samym momencie np. ktoś inny chce skorzystać z komputera.

Całą zasadę działania programu screen wytłumaczę z pomocą konsolowego klienta gadu-gadu – ekg.

Wszystkie operacje zamykania, zabijania, wylogowywania itp wykonujemy poprzez kombinację klawiszy Ctrl + a oraz odpowiedni przycisk, np:

„Ctrl + a” a potem szybko „d” powoduje „uśpienie” sesji (program dalej działa w tle)
„Ctrl + a” + „k” zabija sesję powodując całkowite wyłączenie programu
„Ctrl + a” +„x” zablokowuje terminal

Więcej kombinacji można znaleźć w manualu screen’a.

Powiedzmy, że nasz kolega ma serwer, na którym mamy konto shellowe. Logujemy się na nie za pomocą ssh i chcemy uruchomić klienta gg – ekg i zostawić je na statusie np. „zaraz wracam”.

screen -S klient_gg ekg

Polecenie to odpali nam klienta gg. Ustawiamy na nim status „zaraz wracam” i wciskamy kombinację klawiszy „Ctrl + a” + „d” i pojawia się napis [detached], co znaczy, że ekg działa dalej w tle. Aby z powrotem wrócić do tej sesji wpisujemy w konsoli screen -r klient_gg (nazwa sesji wpisana po -S).

screen -ls wyświetla listę sesji screen screen -r nazwa_sesji wznawia sesję o nazwie nazwa_sesji screen -m -d tworzy sesję, lecz nie loguje się do niej

Ostatnie polecenie jest przydatne np. dla skryptu startującego razem z systemem, np. gdy chcemy uruchomić konsolowego klienta torrentów rtorrent: screen -S klient_rtorrent -m -d /usr/bin/rtorrent &

Pokazałem tylko malutką część możliwości screen’a, które chyba są najczęściej używane.
O sesjach można by mówić i mówić, dlatego odsyłam do manuala.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • http://www.nibyblog.pl frk

    Polecam byobu. Jest to GNU screen window manager.