Wirtualne konsole w systemie Linux (screen)

Ekran startowy screena

Przydatnym poleceniem systemu Linux, które może przydać się w pracy z serwerem, szczególnie podczas pracy zdalnej, jest screen. Służy ono do uruchamiania wielu równoczesnych terminali w tle, z możliwością podejrzenia ich w każdej chwili. Łatwo wyobrazić sobie sytuację, w której przegrywamy większą ilość danych na serwer, a jednocześnie nie chcemy pozbawiać się możliwości aktywnej pracy w terminalu – wówczas z pomocą przychodzi właśnie screen.

Poza oczywistą wygodą tego rozwiązania istnieje jeszcze jeden ważny powód, dla którego warto z niego korzystać. Otóż polecenie wykonywane jest bezpośrednio w terminalu serwera, więc ewentualne zerwanie połączenia z Internetem, czy zanik prądu w sieci energetycznej, nie przerwie nam aktualnie wykonywanej czynności. W takiej sytuacji wystarczy ponownie zalogować się na serwer, aby zobaczyć, że polecenie otwarte w wirtualnej konsoli nadal jest wykonywane. Dodatkowo nic nie stoi na przeszkodzie, aby wielu użytkowników, na przykład łączących się przez SSH, miało jednoczesny podgląd na wykonywane w screenie polecenie.

Aby uruchomić wirtualną konsolę, należy wpisać w terminalu polecenie:

$ screen

Jednak program nie zawsze będzie zainstalowany w systemie (serwery dostępne w ofercie hosting.linux.pl domyślnie mają zainstalowanego screena).

Ryc. 1. Komunikat o braku screena w systemie Ubuntu.

Instalacja różni się w zależności od używanej dystrybucji. Dla systemów z rodziny Debiana i Ubuntu można zrobić to poleceniem:

$ sudo apt install screen

Po uruchomieniu polecenia, wyświetli się informacja na temat zainstalowanego programu, gdzie możemy zapoznać się z jego wersją oraz innymi informacjami na jego temat.

Ekran startowy screenaRyc. 2. Ekran startowy screena.

Okno wirtualnej konsoli właściwie w żaden sposób nie różni się od standardowego terminala – możemy tutaj wprowadzać polecenia, które chcemy, aby działały w tle.

Aby zamknąć screena, wpisujemy polecenie:

$ exit

Jednak zwykle będziemy chcieli przełączyć się z powrotem do głównego okna terminala, co można osiągnąć skrótem:

ctrl + a + d

Każde wirtualne okno uruchamiane jest jako osobna sesja, zaś jej ID otrzymujemy po zatwierdzeniu wpisanego polecenia.

W każdej chwili możemy podejrzeć listę uruchomionych screenów, wydając polecenie:

$ screen -ls

Lista sesji programu screenRyc. 3. Lista sesji programu screen.

Przełączanie się do okna wirtualnej konsoli następuje po wprowadzeniu polecenia:

$ screen -r

A jeśli mamy utworzonych więcej sesji, należy na końcu podać jej numer ID, np:

$ screen -r 7071

Znacznym ułatwieniem w pracy z wieloma wirtualnymi konsolami jest nadanie im unikalnych nazw, które będą łatwiejsze do zapamiętania, niż numery ID. Można to zrobić stosując polecenie:

$ screen -S upload

Wówczas, aby przełączyć się do wybranego okna, można posłużyć się zarówno numerem ID, jak i nadaną sesji nazwą.

$ screen -r upload

Polecenie screen z wykorzystaniem unikalnej nazwy sesjiRyc. 4. Polecenie screen z wykorzystaniem unikalnej nazwy sesji.

Przydatne może być także automatyczne uruchamianie sesji w tle:

$ screen -dmS [nazwa_sesji] [polecenie_uruchamiane_w_oknie]

Dodatkowo obsługa programu możliwa jest także za pomocą skrótów klawiszowych. Podstawą ich wywołania jest kombinacja:

ctrl + a

do której dodaje się dodatkowy klawisz – np. d, aby przejść do głównego okna terminala. Wszystkie skróty działają wyłącznie z poziomu okna wirtualnej konsoli.

ctrl + a + c – tworzy nowe okno.

ctrl + a + p – przechodzi do poprzedniego okna.

ctrl + a + n – przechodzi do poprzedniego okna.

ctrl + a + ‘ – przechodzi do okna o wybranym numerze.

ctrl + a + ” – przechodzi do listy aktywnych okien.

ctrl + a + A – pozwala nadać nazwę aktywnemu oknu.

ctrl + a + [0-9] – przechodzi do okna o podanym numerze.

Przedstawione w tym tekście opcje, to jedynie wycinek możliwości programu screen, w sam raz aby początkujący użytkownik się w nim odnalazł i ułatwił sobie pracę z serwerem przez protokół SSH. Jeśli opanujecie podstawy, zawsze możecie sięgnąć głębiej, a przydatna w tym będzie dokumentacja GNU screen.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Poprzedni post
Clonezilla Live logo

Clonezilla Live 2.7.1-22

Następny post
EndeavourOS

EndeavourOS 2021.02.03

Powiązane posty