Power Tools
KNOW HOW
Screen
Potęga wirtualnych
ekranów
Niektóre narzędzia od razu rodzą się wielkie, niektóre osiągają wielkość, inne zaś ciągle dążą ku wielkości. W tym
miesiącu skierujemy blask świateł na wielkie narzędzie o nazwie screen. STEVEN GOODWIN
rzeznaczeniem screen jest możliwość
utworzenia kilku wirtualnych konsoli ciśnięciu [Enter].
Pwewnątrz pojedynczej sesji terminalo- Na początek należy stworzyć nową powłokę.
wej. Każda konsola ma, niezależnie od innych, Uzyskuje się to poprzez wciśnięcie [C-a], a na-
możliwość uruchamiania programów w swoim stępnie [c] (bez Shift-a], co oznacza komendę działającemu programowi, zazwyczaj jest to
własnym oknie nawet, gdy użytkownik wylo- create. T tym razem nic nie wydarzyło się bash. Zamiast tego możemy nadać bardziej opi-
akże i
gował się z sesji. Używając screen-a można na ekranie: ciągle widzimy znak zachęty bash. sową nazwę bieżącemu oknu, używając komen-
sprawować kontrolę nad kilkoma konsolami za Powołany został jednak nowy znak zachęty. Aby dy 'title', która jest wywoływana skrótem [C-a
pomocą jednego połączenia i przełączać się do się o tym przekonać, możemy wcisnąć kombi- A] (wielkie A).
nich w pózniejszym czasie. Jest to niemożliwe nację klawiszy [C-a ], powinniśmy wówczas
do osiągnięcia za pomocą zwykłego nohup. zobaczyć listę wirtualnych okien będących pod Podwójna beczka
kontrolą screen'a. Konkretne okno możemy wy- W razie potrzeby kopiowania i wklejania po-
Pierwsze symptomy brać korzystając z klawiszy kursora i wciskając między oknami należy przełączyć się do trybu
Screen uruchamiany jest po prostu przez po- [Enter]. kopiowania. W trybie tym można poruszać się
danie jego nazwy, po czym wyświetlany jest ko- przewijając widoczny tekst (jak również linie
munikat powitalny. Przyciśnięcie [Enter] usu- Num Name Flags będące w buforze historii screen) w celu wy-
wa napis i powoduje powrót do ekranu ze zna- 0 bash $ brania początku i końca tekstu przeznaczone-
kiem zachęty powłoki. Polecenie ls wyświetla 1 bash $ go do skopiowania. Przejście do trybu kopio-
zawartość katalogu, tak jak dzieje się to w każ- wania następuje po wciśnięciu kombinacji
dym dniu tygodnia. Jedyną różnicą wskazują- To tylko jeden z wielu sposobów zmiany okna klawiszy [C-a], a następnie [Escape]. Poru-
cą, że coś się stało, jest to, że ekran został wy- (zobacz RAMK: Wielokątne Okno). szanie się wewnątrz tekstu odbywa się za po-
czyszczony i kursor pojawił się w pierwszej li- Chociaż można otwierać tak wiele wirtual- mocą klawiszy [H], [J], [K] i [L], przemiesz-
nii ekranu. nych konsol, na ile pozwoli tylko wielkość pa- czających kursor odpowiednio w lewo, dół, gó-
To co się właśnie wydarzyło, to start screena mięci, to jednak tylko pierwszych dziesięć bę- rę i prawo. W zależności od typu terminala
i uruchomienie go w osobnym procesie. Przy- dzie posiadać eleganckie skróty klawiszowe możliwe jest także korzystanie z klawiszy kur-
dzielona została domyślna powłoka, czyli za- i tylko jedna będzie widoczna w danej chwili. sora. Gdy już umieścimy kursor w punkcie
zwyczaj bash, jednakże pracująca pod kontro- Niezależnie od wyglądu, wszystkie programy
Wielokątne Okno
lą screen. Oznacza to, że oprócz przejęcia kon- kontynuują działanie. Dzięki temu jedno
troli nad sesją, przydzielona została dodatko- z tych okien może być używane do edycji pro- C-a C-a Przełączanie pomiędzy dwoma
ostatnimi oknami
wo specjalna kombinacja klawiszy Ctrl+a; gramu, inne do kompilacji, a jeszcze inne do
C-a ' Wyświetlenie listy wyboru okien
kombinacja ta używana jest do przekazywania uruchamiania i testowania pozwala to uzy-
C-a 0 Przełączenie do okna 0
poleceń do screen. Na początek otwórzmy skać podobny efekt, jak w przypadku wirtual-
C-a 1 Przełączenie do okna 1 (itd. aż do 9)
stronę pomocy wciskając razem Ctrl+a (nazy- nych konsol przełączanych klawiszami
C-a n Następne okno
wane odtąd [C-a]). Powrót do pracy i usunię- [alt+F1] [alt+F6].
C-a p Poprzednie okno
cie wyświetlania strony pomocy nastąpi po na- Domyślnie wyświetlana nazwa odpowiada
52 Kwiecień 2004 www.linux-magazine.pl
Power Tools KNOW HOW
Odtwarzanie w tle pracy grupowej albo jako narzędzie monito-
Złe sny
Jedną z największych zalet screen jest możli- rujące, tym bardziej, że nie ma potrzeby odłą-
Nie wszystko jest różowe w krainie screen.
wość odłączania. Dzięki temu można odłączyć czania oryginalnego okna. T same zasady
e
Po pierwsze, domyślny skrót klawiszowy do
wszystkie wirtualne okna od terminala użyt- odłączania screen mają zastosowanie w trybie
wywoływania poleceń ([C-a]) jest taki sam,
kownika, pozwalając zarazem programom kon- 'wielo-wyświetlaczowym', gdy uruchomiona
jak skrót używany przez powłokę do usta-
tynuować ich pracę w tle. Możliwe jest nawet jest więcej niż jedna sesja screen.
wienia kursora na początku bieżącej linii.
wylogować się, a wszystkie procesy będą konty-
Także komunikat startowy jest trochę do-
nuować swoje działanie. Pozwala to utrzymać $ screen -x
kuczliwy. Obydwa problemy można jednak-
aktywną sesję IRC, gdy w tym samym czasie
że rozwiązać przez drobną edycję pliku
trwa ściąganie plików, albo oczekiwać na wyniki Porzuć go
$HOME/.screenrc.
trylogii./configure && make && make install, Możliwości odłączania i podłączenia screen są
escape '^Ss' robiąc coś zupełnie innego. mile widziane jeszcze w jednym przypadku. Ma
startup_message off Procesy odesłane w tło mogą być przywołane to miejsce np. wtedy, gdy wcale nie zamierza-
kilkoma magicznymi klawiszami. [C-a C-d] liśmy się wylogować, jednak coś (lub ktoś) spra-
startu, należy nacisnąć klawisz spacji. (Control+d) odłącza screen od terminala wiło, że rozłączyliśmy się z maszyną, na której
T
eraz przemieścić kursor do punktu końco- i zwraca prawdziwy znak zachęty basha. Jeśli pracowaliśmy. Jeśli wszystkie zadania ukryte
wego i ponownie nacisnąć spację, dokonując teraz napiszesz screen -list, będzięmy mógli zo- były w sesjach screen, powinny dalej działać
w ten sposób wyboru zaznaczonego obszaru baczymy, że jedna odłączona sesja screen'a dzia- bezpiecznie. Ponowne podłączenie do tych sesji
(na ekranie obszar ten zostanie podświetlony ła w tle. T
eraz można zrobić wszystko (włącznie możliwe jest za pomocą opisanych powyżej me-
w trybie inwersji). Zaznaczenie punktu końco- z wylogowaniem), także podłączyć ją ponownie tod.
wego spowoduje automatyczne umieszczenie z dowolnego miejsca, nawet z zupełnie innej Za pomocą screen możemy ponadto urucho-
tekstu w buforze kopiowania. Zawartość bufo- maszyny. mić klienta pocztowego z pominięciem basha.
ra może być następnie wklejona do innego Wystarczy napisać:
okna za pomocą kombinacji klawiszy [C-a] ] $ screen -r
(prawy nawias kwadratowy). Używając edyto- screen mutt
ra należy pamiętać o przełączeniu go w tryb Jeśli bieżący użytkownik ma kilka działających
wprowadzania przed rozpoczęciem wklejania sesji screen, wyświetlona zostanie lista zawiera- Dowolny program uruchomiony w ten sposób
tekstu. Screen wysyła tekst do okna w miarę jąca id procesu, terminal i nazwę maszyny dla może także pobrać zestaw argumentów. Dlatego
wprowadzania na klawiaturze, bez względu na każdej z nich. W tym przypadku należy ponow- dla uniknięcia zamieszania, opcje przeznaczo-
działanie programu. nie podłączyć się do określonego terminala, po- ne dla screen muszą poprzedzać nazwę progra-
Bufor wklejania istnieje wyłącznie w pamię- dając id jego procesu: mu. W dodatku pozwala to na automatyczne
ci, ale może być zapisany na dysk za pomocą ukrycie ekranu z napisanymi licencyjnymi.
właściwej instrukcji dostępnej z trybu linii po- $ screen -list Screen zakończy także działanie wraz z zakoń-
leceń screen. Wykonuje się to za pomocą pole- There are several suitable U czeniem pracy obsługiwanego przez niego pro-
cenia [C-a: ]. Pojawia się wówczas znak zachęty screens on: gramu, wyświetlając komunikat:
w dolnej linii ekranu, co przypomina oczekiwa- 17169.pts-1.tori (Detached)
nie na instrukcję, znane z vi. 17200.pts-1.tori (Detached) [screen is terminating]
Type 'screen [-d] -r [pid.]ttyU
:writebuf ~/my_file_of_bufferU .host' to resume one of them. Lekki d eszcz
_text $ screen -r 17169 W rzeczywistości Screen posiada dużo więcej
opcji, my mieliśmy okazję zapoznać się zale-
Należy być ostrożnym, ponieważ każdy plik, W trosce o użytkowników żyjących w ciągłym dwie z kilkoma z nich. Podręcznik pomocy
którego nazwa zostanie podana bez pełnej pośpiechu, autorzy screen przewidzieli specjal- man zawiera pełną listę poleceń, przykładów
ścieżki, zostanie zapisany w katalogu, z którego ną opcję odłączania [C-a D D], pozwalającą za i skrótów klawiszowych, na których przedsta-
screen został uruchomiony po raz pierwszy, nie jednym zamachem odłączyć screen i wylogo- wienie zabrakło tutaj po prostu miejsca. Do
zaś w bieżącym katalogu. To samo dotyczy pole- wać bieżącego użytkownika. ciekawszych właściwości należą m.in. obsłu-
cenia readbuf. Istnieje także możliwość podłączenia do ga znaków Braille'a i Kanji. Niektóre z nich,
Dodatkowo screen umożliwia wymianę du- procesu, który nawet nie był odłączony. Wy- jak np. możliwość zablokowania konsoli
żych bloków tekstu pomiędzy sesjami. Działa maga to podania specjalnej opcji -x, która po- ekranowej (za pomocą kombinacji [C-a x]),
to w ten sposób, że bufor najpierw jest zapisy- zwala w tym samym czasie kontrolować są bardzo proste, inne, dotyczące konfigura-
wany do pliku na dysku, a następnie ponownie dwóm wirtualnym oknom ten sam program cji ustawień terminala, są bardziej skompli-
zaczytywany. Zapisywanie wykonywane jest za z dwóch różnych miejsc, np. klienta poczty kowane. Ale teraz czas na dalsze odkrywanie
pomocą polecenia [C-a >], otwieranie nato- elektronicznej. Uaktualnienia ekranu poja- własności screen...
miast przez [C-a <], co wymaga mniejszego wiają się od razu na wszystkich podłączonych
wysiłku niż wprowadzenie poleceń writebuf maszynach (chociaż możliwe są pewne pro-
INFO
i readbuf. Plik tymczasowy ma domyślną na- blemy z wyświetlaniem, zwłaszcza gdy po-
[1] Screen: http://ftp.uni-erlangen.de/
zwę /tmp/screen-xchg, można ją jednak zmie- szczególne terminale mają różne wielkości).
pub/utilities/screen/
nić za pomocą polecenia bufferfile. Właściwość ta może być wykorzystywana do
www.linux-magazine.pl Kwiecień 2004 53
Wyszukiwarka
Podobne podstrony:
Chemical Composition and in Vitro Antifungal Activity ScreeningINFOCUS SCREENPLAY 4800FANUC21IT ON SCREEN MDI PANELscreen categories editcollectionbadanie przesiewowe screeningwięcej podobnych podstron