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 okienCtrl+a
0
Wybierasz okienka po numerze – 0-9Ctrl+a
A
Zmieniasz nazwę obecnego oknaCtrl+a
S
Podziel obecny region horyzontalnie w dwa oddzielne regionyCtrl+a
|
Dzielisz obecny region wertykalnieCtrl+a
tab
Zmień aktywny regionCtrl+a
Ctrl+a
Przełącz się pomiędzy poprzednim a następnym.Ctrl+a
Q
Pozostaw tylko obecny region – reszta jest zamykanaCtrl+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.
- w terminalu uruchamiamy polecenie
screen
- Uruchamiamy wybrany przez siebie program
- Używamy sekwencji
Ctrl-a
+Ctrl-d
rozłączenia z sesją screen. - Wracamy do naszego polecenia z tła za pomocą
ctrl+r