Przewodnik po korzystaniu z poleceń ekranowych w systemie Linux
Wprowadzenie
Polecenie screen jest potężnym multiplekserem terminalowym dla Linuksa i systemów uniksopodobnych. Pozwala zarządzać wieloma sesjami powłoki z jednego okna terminala, utrzymywać sesje uruchomione nawet po wylogowaniu i ponownie łączyć się z tymi sesjami później. Jest to szczególnie przydatne w przypadku sesji zdalnych przez SSH, ponieważ zapewnia, że długo działające procesy nie zostaną przerwane w przypadku zerwania połączenia. W tym przewodniku omówimy, jak zainstalować, używać i zarządzać sesjami ekranowymi, wraz z kilkoma typowymi poleceniami i praktycznymi wskazówkami.
Dlaczego warto używać screen?
Korzystanie z ekranu oferuje kilka korzyści:
- Zarządzanie sesjami: Uruchamianie wielu sesji powłoki w jednym oknie terminala.
- Trwałość sesji: Kontynuacja uruchomionych procesów nawet po rozłączeniu się z terminalem lub utracie połączenia SSH.
- Ponowne dołączenie: Ponowne połączenie z sesją w dowolnym momencie i rozpoczęcie pracy od miejsca, w którym ją przerwano.
- Łatwość użycia: Proste polecenia i skróty ułatwiają zarządzanie sesjami.
Ekran instalacji
screen jest zwykle preinstalowany w większości dystrybucji Linuksa. Jeśli jednak nie jest dostępny w twoim systemie, możesz go zainstalować za pomocą menedżera pakietów:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
Po zainstalowaniu można natychmiast rozpocząć korzystanie z ekranu.
Uruchamianie sesji screen
Aby rozpocząć nową sesję screen, wystarczy wpisać:
screen
Spowoduje to otwarcie nowej sesji ekranu z interfejsem wiersza poleceń, który zachowuje się jak normalny terminal. W ramach tej sesji można uruchamiać polecenia lub procesy.
Aby rozpocząć nową sesję z określoną nazwą (ułatwiając późniejsze zarządzanie), użyj:
screen -S session_name
Zastąp session_name znaczącą nazwą sesji.
Odłączanie i ponowne dołączanie do sesji
Jedną z najbardziej przydatnych funkcji ekranu jest możliwość odłączenia się od sesji i ponownego dołączenia do niej później.
Odłączanie od sesji
Aby odłączyć się od sesji screen bez jej zamykania, naciśnij :
Ctrl A , D
Sekwencja Ctrl A informuje ekran, że zamierzasz wydać mu polecenie, a D oznacza “odłącz” Po odłączeniu sesja będzie nadal działać w tle.
Ponowne dołączanie do sesji
Aby ponownie połączyć się z odłączoną sesją, użyj:
screen -r
Jeśli masz wiele sesji, możesz je wyświetlić i wybrać konkretną sesję, do której chcesz się dołączyć:
screen -ls
To polecenie wyświetli wszystkie aktywne sesje ekranu, w tym ich identyfikatory i nazwy:
Są włączone ekrany:
1234.session_name (Odłączony)
5678.another_session (odłączony)
2 Gniazda w /var/run/screen/S-user.
Aby ponownie dołączyć do określonej sesji, należy użyć jej identyfikatora lub nazwy:
screen -r 1234
lub
screen -r session_name
Korzystanie z wielu okien w jednej sesji ekranowej
screen umożliwia tworzenie wielu okien w ramach jednej sesji. Oznacza to, że można uruchamiać różne polecenia lub procesy w oddzielnych oknach i łatwo przełączać się między nimi.
Tworzenie nowego okna
Aby utworzyć nowe okno wewnątrz istniejącej sesji ekranu, naciśnij :
Ctrl A , C
Spowoduje to otwarcie nowego okna z nowym wierszem powłoki.
Nawigacja między oknami
Aby przełączać się między oknami, użyj
- Ctrl A, N: przejście do następnego okna.
- Ctrl A, P: Przejście do poprzedniego okna.
- Ctrl A, “: Wyświetlenie listy otwartych okien i wybranie jednego z nich.
Zmiana nazwy okna
Aby zmienić nazwę okna w celu lepszej organizacji, naciśnij :
Ctrl A , A
Wpisz nową nazwę okna i naciśnij Enter.
Zamykanie okna
Aby zamknąć okno, wystarczy wyjść z powłoki uruchomionej w tym oknie, wpisując:
exit
lub naciskając Ctrl D.
Blokowanie i odblokowywanie sesji ekranowej
Jeśli chcesz tymczasowo zablokować sesję ekranu, użyj następującego polecenia:
Ctrl A , X
Będzie to wymagało wprowadzenia hasła użytkownika w celu odblokowania sesji.
Dostosowywanie konfiguracji ekranu
Zachowanie ekranu można dostosować za pomocą pliku .screenrc, który znajduje się w katalogu domowym. Do pliku tego można dodawać polecenia zmieniające domyślne przypisania klawiszy, ustawiające tytuły okien i dostosowujące zachowanie ekranu podczas uruchamiania.
Aby utworzyć lub edytować plik .screenrc, należy użyć edytora tekstu:
nano ~/.screenrc
Oto kilka przykładowych ustawień, które można dodać:
# Zmień domyślną sekwencję ucieczki na Ctrl B
escape ^Bb#
Ustaw linię statusu na dole ekranuhardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Zapisz plik i uruchom ponownie ekran, aby zastosować zmiany.
Przykładowe przypadki użycia dla ekranu
- Uruchamianie długotrwałych procesów: Jeśli chcesz uruchomić skrypt lub polecenie, którego wykonanie zajmuje dużo czasu, uruchom je w sesji ekranowej. W ten sposób, nawet jeśli rozłączysz się z SSH, proces będzie kontynuowany.
- Zarządzanie wieloma sesjami: Jeśli pracujesz nad wieloma projektami, możesz użyć różnych sesji ekranowych lub okien dla każdego zadania.
- Zdalne zarządzanie serwerami: Użyj ekranu do zarządzania zdalnymi serwerami przez SSH. Jest to szczególnie przydatne do administrowania serwerami, które wymagają ciągłej konserwacji lub monitorowania.
Podsumowanie
Polecenie screen jest wszechstronnym i potężnym narzędziem do zarządzania wieloma sesjami terminalowymi i uruchamiania długich procesów w systemach Linux. Dzięki możliwości odłączania, ponownego dołączania i tworzenia wielu okien, screen zapewnia solidne środowisko zarówno dla zwykłych, jak i zaawansowanych użytkowników. Niezależnie od tego, czy uruchamiasz złożone skrypty, czy po prostu potrzebujesz sposobu na utrzymanie trwałej sesji powłoki, opanowanie screen znacznie zwiększy twoją produktywność i elastyczność w systemie Linux.