screen – uruchamianie wielu poleceń w tle

Miałeś pewnie taką sytację, że chciałeś uruchomić zadanie, które będzie się wykonywać bardzo długi czas. Uruchomiłeś to zadanie i nagle bez większych powodów zostałeś odłączony od interntu. Twoje połączenie z serwerem zostało przerwane, sesja ssh została usunięta a twoja cała praca została stracona. Takie coś zdażyło się każdemy i każdej z nas. Szcześliwie dla nas wszystkich mam dzisiaj dla was rozwiązanie tego problemu, a jest nim screen, który pozwala nam tworzyć sesje terminala które mogą być spokojnie rozłączane i podłączane ponownie.

Wstęp

Screen lub GNU Screen jest multiplekserem terminala. W prostym tłumaczeniu screen pozwala nam na uruchomienie wielu sesji terminala i daje nam możliwość działania tego terminala nawet po rozłączeniu od serwera. Przydaje się to bardzo jeżeli chcesz wykonać na serwerze jakieś długie operacje – jak np. zrobienie kopii, masowe konwertowanie zdjęć etc.

Jak zainstalować

Instalacja na dystrybucjach bazujących na debianie jest bajecznie prosta

$ sudo apt-get update 
$ sudo apt-get install screen

Pod dystrybucją CentOS and Fedora

$ sudo yum install screen

Startowanie sesji

Start screen’a jest bardzo prosty i służy do tego polecenie screen

Startowanie nazwanych sesji

Nazwane sesje są dobre jeżeli uruchamiasz wiele sesji secreen’a. Tworzenie takiej nazwanej sesji jest proste

screen -S nazwa_sesji

Zawsze polecam wybierać dobrze opisującą nazwę 😉

Kilka skrótów dla leniuszków

Poniżej kilka najczęściej stosowanych skrótów:

  • Ctrl+a c Tworzy nowe okno z konsolą
  • Ctrl+a " Wyświetla listę wszystkich okien
  • Ctrl+a 0 Wybierasz okienka po numerze – 0-9
  • Ctrl+a A Zmieniasz nazwę obecnego okna
  • Ctrl+a S Podziel obecny region horyzontalnie w dwa oddzielne regiony
  • Ctrl+a | Dzielisz obecny region wertykalnie
  • Ctrl+a tab Zmień aktywny region
  • Ctrl+a Ctrl+a Przełącz się pomiędzy poprzednim a następnym.
  • Ctrl+a Q Pozostaw tylko obecny region – reszta jest zamykana
  • Ctrl+a X Zamknij obecny region

Odłączanie od sesji

Możesz w każdej chwili się odłączyć od sesji screena wydając polecnie

Ctrl+a d

Po wydaniu tego polecenia możesz spokojnie wylogować się z serwera. Zadanie, które uruchomiłeś właśnie będzie nadal działać na serwerze. Nie musisz już się martwić o to, że zerwie połączenie z WiFi, zaniknie prąd lub cokolwiek stanie się z twoim komputerem. Zadanie będzie nadal uruchomione na zdalnej maszynie.

Podstawowe polecenia Screen

Poniżej mam dla was najprostsze i najczęstsze przypadki użycia polecenia screen.

  1. w terminalu uruchamiamy polecenie screen
  2. Uruchamiamy wybrany przez siebie program
  3. Używamy sekwencji Ctrl-a + Ctrl-d rozłączenia z sesją screen.
  4. Wracamy do naszego polecenia z tła za pomocą ctrl+r

Comments

comments