Screen - coż to takiego?
Jeżeli nie zrozumiałeś powyższego tekstu, to postaram się to w inny sposób wyjaśnić. Screen jest to program, który uruchamiasz w konsoli. Dzięki temu, że go uruchomimy, nasza konsola zyskuje jakby nowe możliwości. Możemy sobie np. tworzyć nowe zakładki. Tak, wiem - różnego rodzaju terminale, np.: YaKuake, gnome-terminal, konsole itd., mają zakładki, jednak nie mają takich możliwości co konsola, w której został odpalony screen. Załóżmy, że masz odpalone 5 zakładek w YaKuake, a w nich jakieś programy. Nagle następuje pad x-ów (wywala Cię z nich). Po ponownym uruchomieniu x'ów musisz jeszcze raz odpalić YaKuake, potem te 5 zakładek i wreszcie dane programy - męczące nie? A wyobraź sobie, że w jakimś terminalu robisz aktualizację systemu. Najnowsze wersje pakietów zostały już ściągnięte i następuje instalacja i konfiguracja pakietów. Aż tu nagle restart x-ów - wyłącza się terminal, a razem z nim dpkg. Pewnie po takiej niespodziance możesz mieć poważne kłopoty, np.: http://debian.linux.pl/viewtopic.php?t=524 A co się stanie jeśli w screenie odpalisz aktualizację i padną x'y? Dpkg będzie dalej działać - tak dalej będzie. Bo screen pracuje "niezależnie" od terminala. X'y mogą się sypać itp., ale cały czas będzie działał w tle screen. Właśnie dzięki niemu, zwiększamy bezpieczeństwo i stabilność systemu." pisze: Screen jest pełnoekranowym menedżerem okien, który dzieli fizyczny terminal między kilkoma procesami (zwykle interaktywnymi powłokami). (...) Dla każdego wirtualnego terminala istnieje bufor przewijania oraz mechanizm wycinania i wklejania, który umożliwia przenoszenie obszarów tekstów między oknami. W momencie, gdy screen jest wywoływany, tworzy pojedyncze okno z powłoką (lub z podaną komendą), a następnie znika z drogi, abyś mógł używać programu w normalny sposób. W dowolnej chwili możesz utworzyć nowe pełnoekranowe okna z innymi programami (również z dodatkowymi powłokami), zabić istniejące okna, zobaczyć listę okien, włączyć raportowanie wyjścia, wklejać między nimi tekst, oglądać historię przewijania, przełączać się między oknami, itd. Wszystkie okna uruchamiają swoje programy zupełnie niezależnie od pozostałych. Programy pracują również wtedy, gdy ich okna są niewidoczne, a nawet wtedy, gdy cała sesja screen jest odłączona od terminala użytkownika. Gdy program się kończy, screen (domyślnie) zabija okno, które go zawierało. Jeśli okno to było na pierwszym planie, wyświetlacz przełącza się na okno poprzednie; jeśli żadne już nie pozostanie, screen kończy działanie.
Instalacja screena
Aby używać screena, musimy go oczywiście zainstalować. W tym celu, jako root wydaj:
Kod: Zaznacz cały
aptitude update && aptitude install screen
Kod: Zaznacz cały
apt-get update && apt-get install screen
Konfiguracja screena
Standardowo screen nie wygląda zbyt ciekawie. Oczywiście możemy go sobie odpowiednio skonfigurować. Na temat konfiguracji przeczytasz w:
Kod: Zaznacz cały
man screen
Kod: Zaznacz cały
~/.screenrc
Praca ze screenem
Po skonfigurowaniu screena, możemy przejść do praktyki. Odpal swój ulubiony terminal (np: YaKuake) i wpisz:
Kod: Zaznacz cały
screen
^a + c - tworzy nową zakładkę,
^a + ^a - przełącza na ostatnie wyświetlane okno,
^a + " - pokazuje listę wszystkich otwartych okien/zakładek,
^a + A - zmienia nazwę okna,
^a + C - "czyści" okno,
^a + ^d - wyłącza screena z aktualnego terminala,
^a + ^g - włącza tryb wizualnego dzwonka screena,
^a + spacja - przełącza się na następne okno,
^a + Back Space - przełącza się na poprzednie okno,
^a + [ - umożliwia przewijanie linii.
To są tylko najważniejsze skróty - szybko się ich nauczysz. Oczywiście, możesz sobie je zmienić - wszystko zależy od Ciebie. Więcej skrótów znajdziesz w:
Kod: Zaznacz cały
man screen
Dodam jeszcze, że jeżeli zawsze po uruchomieniu screena, uruchamiasz kilka zakładek, a w nim jakieś programy, to możesz skonfigurować ten program tak, aby zaraz po odpaleniu screena, te np. 5 zakładek wraz z programami się odpaliło. Zaoszczędzi Ci to trochę czasu. Jak to uczynić? Spójrz do załącznika. Na końcu tego pliku, zamieściłem stosowny komentarz.
Naprawdę zachęcam do używania screena - umili wam on życie, a przy okazji zwiększy bezpieczeństwo.
Po więcej informacji o screenie odsyłam do podręcznika:
Kod: Zaznacz cały
man screen
W razie uwag, propozycji i takich tam proszę o kontakt na Gadu, PW, Jabbera, czy na forum.