Provided by:
manpages-pl_20060617-1_all 
NAZWA
screen - menedżer ekranu z emulacją VT100/ANSI
SKŁADNIA
screen [-opcje] [komenda [argumenty]]
screen -r [[pid.]tty[.host]]
screen -r wacicielsesji/[[pid.]tty[.host]]
OPIS
Screen jest pełnoekranowym menedżerem okien, który dzieli fizyczny
terminal między kilkoma procesami (zwykle interaktywnymi powłokami).
Każdy z wirtualnych terminali daje funkcjonalność terminala DEC VT100,
a dodatkowo również pewne funkcje sterujące ze standardów ISO 6492
(ECMA 48, ANSI X3.64) oraz ISO 2022 (np. wstaw/usuń linię i obsługę
wielu zestawów znaków). 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.
Wszystko co wstukasz, jest przesyłane do programu pracującego w
bieżącym oknie. Wyjątkiem jest jedna sekwencja, która jest używana do
inicjalizacji komendy menedżera okien. Domyślnie każda komenda
rozpoczyna się od control-a (dalej skracane do C-a), po którym
występuje drugi klawisz. Znak komendy i inne powiązania mogą być w
pełni dostosowywane do twoich potrzeb, choć mogą być zawsze tylko
dwuznakowe.
Screen nie rozumie przedrostka "C-", oznaczającego control. Jako
argumenty do np. komendy escape lub opcji -e używaj proszę notacji
daszkowej ("^A" zamiast "C-a") . Screen drukuje znaki sterujące
(złożone z Ctrl) również w notacji daszkowej.
Standardowym sposobem utworzenia nowego okna jest wstukanie "C-a c".
Tworzy to nowe okno z powłoką i przełącza się na nie natychmiast,
niezależnie od stanu procesu z bieżącego okna. Podobnie można tworzyć
nowe okno z własną komendą. Trzeba najpierw powiązać komendę z
klawiszem (w twoim pliku .screenrc, lub w linii komend "C-a :") a
następnie użyć jej zupełnie tak, jak komendy "C-a c". Poza tym, nowe
okna można tworzyć również z pomocą komend w rodzaju:
screen emacs prog.c
spod znaku zachęty powłoki z poprzednio utworzonego okna. Nie spowoduje
to uruchomienia kolejnej kopii screen, lecz przekaże nazwę komendy i
jej argumenty menedżerowi okien (określonemu w zmiennej środowiskowej
$STY), który użyje jej do utworzenia nowego okna. Powyższy przykład
uruchomiłby edytor emacs (edytujący prog.c) i przełączył się do jego
okna.
Jeśli "/var/run/utmp" jest zapisywalny przez screen, to dla każdego
okna zostanie zapisany odpowiedni rekord, który będzie usuwany po
zakończeniu pracy okna. Jest to przydatne do pracy z "talk", "script",
"shutdown", "rsend", "sccs" i innymi podobnymi programami, które
używają pliku utmp do określenia, kim jesteś. Dopóki screen jest
aktywny na twoim terminalu, własny rekord terminala jest usuwany z
pliku utmp. Zobacz też "C-a L".
PODSTAWY
Zanim zaczniesz używać screen musisz upewnić się, że prawidłowo
wybrałeś sobie rodzaj terminala, podobnie zresztą, jak dla każdego
innego programu termcap/terminfo. (Możesz tego dokonać, używając np.
tset(1).)
Jeśli jesteś niecierpliwy i chcesz rozpocząć pracę bez szczególnego
wczytywania się w instrukcję, powinieneś zapamiętać jedną komendę: "C-a
?". Wpisanie tych dwóch znaków spowoduje wyświetlenie listy dostępnych
komend screen oraz ich powiązania. Każdy klawisz jest omówiony w sekcji
"DOMYŚLNE WIĄZANIA KLAWISZY". Sekcja podręcznika "DOSTOSOWYWANIE"
zajmuje się zawartością twojego .screenrc.
Jeśli twój terminal jest "prawdziwym" terminalem auto-marginesowym (nie
pozwala ostatniej pozycji ekranu na bycie poprawionej bez przewinięcia
ekranu), możesz rozważyć użycie wersji terminala, która ma wyłączone
automatyczne marginesy. Zapewni to właściwe i optymalne odświeżanie
ekranu we wszystkich przypadkach. Większość dzisiejszych terminali ma
"magiczne" marginesy (automatyczne marginesy plus używalna ostatnia
kolumna). Jest to typ w stylu VT100 i jest doskonale przystosowany dla
screen. Jeśli wszystko co masz to "prawdziwy" automarginesowy
terminal, screen będzie w stanie go wykorzystać, jednak odświeżenie
znaku wstawionego na ostatnią pozycję ekranu może nie być możliwe do
czasu przewinięcia ekranu, lub przesunięcia znaku do innej bezpiecznej
pozycji. Opóźnienie to może być skrócone przy użyciu terminala z
właściwością wstawiania znaków (insert-character).
OPCJE LINII KOMEND
Screen ma następujące opcje linii komend:
-a włącz wszystkie właściwości (z pewnymi wyjątkami) w termcapie
każdego okna, nawet jeśli screen musi przerysowywać części
wyświetlacza aby zaimplementować daną funkcję.
-A Dostosuj rozmiary wszystkich okien do rozmiaru bieżącego
terminala. Domyślnie, screen próbuje odtworzyć stare rozmiary
swojego okna podczas podwieszania pod terminale zmiennej wielkości
(te z "WS" w swoim opisie, np. suncmd lub jakiś xterm).
-c plik
przesłoń domyślny plik konfiguracyjny "$HOME/.screenrc" plikem
plik.
-d|-D [pid.tty.host]
nie uruchamia screen, lecz odłącza pracującą gdzie indziej sesję
screen. Ma to taki sam efekt jak wpisanie "C-a d" z terminala
sterującego screen'a. -D jest odpowiednikiem klawisza odłączenia
zasilania (power detach). Jeśli żadna sesja nie może być
odłączona, opcja ta jest ignorowana. W połączeniu z -r/-R można
osiągnąć ciekawsze efekty:
-d -r Podłącz na nowo (reattach) sesję, a jeśli to konieczne,
najpierw ją odłącz.
-d -R Podłącz na nowo sesję, a jeśli to konieczne, najpierw ją
odłącz, lub nawet utwórz.
-d -RR Podłącz na nowo sesję, a jeśli to konieczne, odłącz ją lub
utwórz. Użyj pierwszej sesji jeśli dostępnych jest więcej niż
jedna.
-D -r Podłącz na nowo sesję, a jeśli to konieczne, najpierw odłącz i
wyloguj się zdalnie.
-D -R Podłącz tu i teraz. Znaczy to: jeśli sesja działa, to podłącz
na nowo. Jeśli to konieczne, najpierw odłącz i zdalnie się
wyloguj. Jeśli nie działała, utwórz ją i poinformuj
użytkownika. Jest to ulubiony sposób autora.
-D -RR Podłącz tu i teraz. Cokolwiek to znaczy, po prostu to zrób.
Uwaga: Zawsze jest dobrym pomysłem sprawdzenie statusu twoich
sesji z pomocą "screen -list".
-e xy
określa, że znak komendy to x, a znak generujący literalny znak
komendy to y. Domyślnym ustawieniem jest "C-a" i `a', co może być
przekazane jako "-e^Aa". Podczas tworzenia sesji screen opcja ta
ustawia domyślny znak komendy. W sesji wieloużytkownikowej,
wszyscy dodani użytkownicy rozpoczną z tym znakiem komendy. Jednak
podczas podłączenia do już działającej sesji, opcja ta zmienia
tylko znak komendy podłączającego się użytkownika. Opcja ta jest
równoważna odpowiednio komendom "defescape" lub "escape".
-f, -fn, i -fa
włącza lub wyłącza albo wchodzi w "automatyczny tryb przełączania"
kontroli przepływu. Może to być też zdefiniowane poprzez "defflow"
w pliku .screenrc.
-h num
Ustawia bufor przewijania historii na num linii.
-i powoduje, że klawisz przerwania (zwykle C-c) przerywa wyświetlanie
natychmiast gdy włączona jest kontrola przepływu. Zobacz komendę
"defflow" z .screenrc dla szczegółów. Używanie tej opcji nie jest
zalecane.
-l i -ln
włącza/wyłącza tryb zgłoszeniowy (dla odświeżania /var/run/utmp).
Można to zdefiniować też poprzez komendę "deflogin" pliku
.screenrc.
-ls i -list
nie uruchamia sesji screen, lecz drukuje listę łańcuchów
pid.tty.host określających twoje sesje screen. Sesje oznaczone
jako `detached' (odłączone) mogą być wznowione z pomocą "screen
-r". Te, zaznaczone jako `attached' (podłączone) działają i mają
terminal sterujący. Jeśli sesja działa w trybie
wieloużytkownikowym, jest zaznaczona jako `multi'. Sesje oznaczone
jako `unreachable' (nieosiągalne) żyją albo na innych hostach,
albo są `martwe'. Sesja nieosiągalna jest uważana za martwą jeśli
jej nazwa odpowiada albo nazwie hosta lokalnego, albo podanemu
parametrowi. Zobacz flagę -r dla opisu konstruowania porównań.
Sesje zaznaczone jako `dead' (martwe), powinny być sprawdzane i
usuwane. Zapytaj administratora jeśli nie jesteś pewien. Sesje
usuwa się opcją -wipe.
-L mówi screenowi że twój automarginesowy terminal ma zapisywalną
ostatnią pozycję ekranu. Możesz to ustawić również w swoim
.screenrc, podając `LP' w komendzie "termcap".
-m powoduje, że screen ignoruje zmienną środowiskową $STY. "screen
-m" wymusza tworzenie nowej sesji, niezależnie od tego, czy screen
jest wywołany z wewnątrz innej sesji screen czy nie. Flaga ta ma
specjalne znaczenie w połączeniu z opcją `-d':
-m -d Uruchom screen w trybie "odłączonym". Tworzy to nową sesję,
lecz nie podłącza do niej. Jest to przydatne dla skryptów
startowych systemu.
-m -D To również uruchamia screen w trybie "odłączonym", lecz nie
rozwidla nowego procesu. Komenda kończy działanie gdy kończy
się sesja.
-O wybiera bardziej optymalny tryb wyjściowy dla twojego terminala
niż prawdziwy VT100 (tyczy się tylko terminali automarginesowych
bez `LP'). Może to być ustawione w twoim .screenrc przez podanie
`OP' w komendzie "termcap".
-q Powstrzymuje drukowanie komunikatów o błędach. W połączeniu z
"-ls", kod wyjścia jest następujący: 9 wskazuje katalog bez sesji.
10 wskazuje katalog z pracującymi, lecz niepodłączalnymi sesjami.
11 (lub więcej) wskazuje na jedną (lub więcej) nadających się do
użycia sesji. W połączenie z "-r", kod wyjścia jest następujący:
10 oznacza, że nie ma sesji do wznowienia. 12 (lub więcej)
oznacza, że istnieją 2 (lub więcej) sesje do wznowienia i że
powinieneś podać, którą wybrać. W innych wypadkach "-q" nie daje
efektu.
-r [pid.tty.host]
-r wacicielsesji/[pid.tty.host]
wznawia odłączoną sesję screen. Nie można podawać żadnych innych
opcji (poza kombinacjami z -d/-D), choć może być wymagany
opcjonalny przedrostek [pid.]tty.host (w celu rozróżnienia wielu
odłączonych sesji screen). Druga postać jest używana do
podłączenia do sesji screen innego użytkownika, który pracuje w
trybie wieloużytkownikowym. Oznacza to, że screen powinien szukać
sesji w katalogu innego użytkownika. Wymaga to setuid-root.
-R próbuje wznowić pierwszą odłączoną sesję screen, którą znajdzie.
Po sukcesie wszystkie inne opcje linii komend są ignorowane.
Jeśli żadna z odłączonych sesji nie istnieje, uruchamiana jest
nowa sesja z użyciem podanych opcji, zupełnie jakby -R nie zostało
podane. Opcja ta jest ustawiana domyślnie gdy screen jest
uruchamiany jako powłoka zgłoszeniowa.
-s ustawia domyślną powłokę na podany program. Normalnie używana jest
wartość zmiennej środowiskowej $SHELL (lub "/bin/sh" jeśli jej nie
zdefiniowano). Może to być też zdefiniowane poprzez komendę
"shell" pliku .screenrc.
-S nazwasesji
Podczas tworzenia nowej sesji, opcja ta może być użyta do podania
znaczącej nazwy sesji. Nazwa ta identyfikuje sesję dla akcji
"screen -list" i "screen -r". Podmienia domyślny przyrostek
[tty.host].
-t nazwa
ustawia tytuł (a.k.a.) dla domyślnej powłoki, lub podanego
programu. Zobacz też komendę "shelltitle" pliku .screenrc.
-v Wydrukuj numer wersji.
-wipe [dopasowanie]
robi to samo co "screen -ls", lecz usuwa sesje zamiast zaznaczać
je jako martwe ('dead'). Nieosiągalna sesja jest uważana za
martwą, jeśli jej nazwa odpowiada nazwie hosta lokalnego, lub
jakiegoś jawnie podanego parametru. Zobacz opis flagi -r dla opisu
konstruowania dopasowań.
-x Podłącz do nieodłączonej sesji screen. (Tryb
wielowyświetlaczowy).
DOMYŚLNE WIĄZANIA KLAWISZY
Jak wspomniano, każda komenda screen składa się z "C-a", za którym
następuje określony znak. Dla wygody, wszystkie komendy, które są
powiązane z małymi literami, powiązane są też z ich odpowiednikami
złożonymi z Ctrl (z wyjątkiem "C-a a"; zobacz niżej); tak więc "C-a c"
zarówno jak "C-a C-c" może być używany do utworzenia okna. Zobacz
sekcję "DOSTOSOWYWANIE" dla opisu komendy.
Następująca tablica pokazuje domyślne wiązania klawiszy:
C-a '
C-a " (select) Zapytaj o nazwę okna, do którego chcesz się
przełączyć, lub o jego numer.
C-a 0 (select 0)
... ...
C-a 9 (select 9)
C-a - (select -) Przełącz na okno numer 0 - 9 lub na puste
okno.
C-a tab (focus) Przełącz ogniskowanie wejścia na następny
region.
C-a C-a (other) Włącz poprzednio wyświetlane okno. Zauważ,
że to połączenie jest równoważne dwukrotnemu
wpisaniu znaku komendy (chyba że jest to
przesłonięte). Na przykład, jeśli używasz
opcji "-e]x", ta komenda stanie się "]]".
C-a a (meta) Wyślij znak komendy (C-a) do okna. Zobacz
komendę escape.
C-a A (title) Zezwól użytkownikowi ustawić nazwę dla
bieżącego okna.
C-a b
C-a C-b (break) Wyślij do okna przerwanie (break).
C-a B (pow_break) Otwórz na nowo linię terminala i wyślij
przerwanie (break).
C-a c
C-a C-c (screen) Utwórz nowe okno z powłoka i przełącz się na
nie.
C-a C (clear) Wyczyść ekran.
C-a d
C-a C-d (detach) Odłącz screen od tego terminala.
C-a D D (pow_detach) Odłącz i się wyloguj.
C-a f
C-a C-f (flow) Włącz, wyłącz, lub ustaw automatyczny
przepływ.
C-a F (fit) Zmień rozmiar okna na obecny rozmiar regionu.
C-a C-g (vbell) Włącza tryb wizualnego dzwonka screen'a.
C-a h (hardcopy) Zapisz twardą kopię bieżącego okna do pliku
"hardcopy.n".
C-a H (log) Rozpoczyna/kończy raportowanie bieżącego okna
do pliku "screenlog.n".
C-a i
C-a C-i (info) Pokaż informację o tym oknie.
C-a k
C-a C-k (kill) Zniszcz bieżące okno.
C-a l
C-a C-l (redisplay) Całkowicie odśwież bieżące okno.
C-a L (login) Włącz slot zgłoszeniowy tego okna. Dostępne
tylko jeśli screen jest skonfigurowany do
odświeżania bazy utmp.
C-a m
C-a C-m (lastmsg) Powtórz ostatnią wiadomość, wyświetloną w
linii komunikatów.
C-a M (monitor) Włącza monitorowanie bieżącego okna.
C-a space
C-a n
C-a C-n (next) Przełącz na następne okno.
C-a N (number) Pokaż numer (i tytuł) bieżącego okna.
C-a backspace
C-a h
C-a p
C-a C-p (prev) Przełącz na poprzednie okno (odwrotne do C-a
n).
C-a q
C-a C-q (xon) Wyślij control-q do bieżącego okna.
C-a Q (only) Skasuj wszystkie regiony poza bieżącym.
C-a r
C-a C-r (wrap) Włącz ustawienie zawijania linii (line-wrap)
bieżącego okna (włącz automatyczne marginesy
okna).
C-a s
C-a C-s (xoff) Wyślij do bieżącego okna control-s.
C-a S (split) Podziel bieżący region na dwa nowe.
C-a t
C-a C-t (time) Pokaż informację systemową.
C-a v (version) Wyświetl wersję i datę kompilacji.
C-a C-v (digraph) Wstaw dwuznak.
C-a w
C-a C-w (windows) Pokaż listę okien.
C-a W (width) Włącz 80/132 kolumny.
C-a x
C-a C-x (lockscreen) Zablokuj (lock) ten terminal.
C-a X (remove) Zabij bieżący region.
C-a z
C-a C-z (suspend) Zwieś screen. Twój system musi obsługiwać
kontrolę zadań w stylu BSD.
C-a Z (reset) Zresetuj terminal wirtualny na jego wartości
"power-on".
C-a . (dumptermcap) Zapisz plik ".termcap".
C-a ? (help) Pokaż wiązania klawiszowe.
C-a C-\ (quit) Zabij wszystkie okna i zakończ screen.
C-a : (colon) Wejdź do trybu linii komend.
C-a [
C-a C-[
C-a esc (copy) Wejdź w tryb kopiowania/przewijania.
C-a ] (paste .) Zapisz zawartość bufora wklejania na kolejkę
standardowego wejścia bieżącego okna.
C-a {
C-a } (history) Kopiuj i wklej poprzednią linię (komend).
C-a > (writebuf) Zapisz bufor wklejania do pliku.
C-a < (readbuf) Wczytuje plik wymiany screena do bufora
wklejania.
C-a = (removebuf) Usuwa plik, używany przez C-a < i C-a >.
C-a , (license) Pokazuje, skąd screen pochodzi, dokąd poszedł
i dlaczego możesz go używać.
C-a _ (silence) Rozpoczyna/kończy monitorowanie bieżącego
okna na nieaktywność.
C-a * (displays) Pokaż listing wszystkich obecnie podłączonych
wyświetlaczy.
DOSTOSOWYWANIE
"Katalog gniazd" (socket directory) domyślnie jest w $HOME/.screen lub
zwyczajnie w /tmp/screens. Jeśli screen jest zainstalowany z setuid-
root, to administrator powinien skompilować go z odpowiednim (nie
zamontowanym przez NFS) katalogiem gniazd. Jeśli screen nie działa
jako setuid-root, użytkownik może podać dowolny katalog o prawach 700
poprzez zmienną środowiskową $SCREENDIR.
W momencie, gdy screen jest uruchamiany, wykonuje on komendy
inicjalizacyjne z plików "/etc/screenrc" i ".screenrc" z katalogu
domowego użytkownika. Są to "domyślne wartości programisty", które
można przesłonić w następujące sposoby: dla znalezienia globalnego
pliku screenrc, screen poszukuje zmiennej środowiskowej $SYSSCREENRC
(ta właściwość przesłaniania może być wyłączona podczas kompilacji).
Plik screenrc konkretnego użytkownika jest szukany w $SCREENRC, a potem
w $HOME/.screenrc. Opcja -c linii komend ma jeszcze większy priorytet.
Komendy w tych plikach są używane do ustawiania opcji, wiązania funkcji
do klawiszy i do automatycznego zestawiania jednego lub więcej okien na
starcie twojej sesji screen. Komendy są wymieniane jedna na linie;
puste linie są ignorowane. Argumenty komend są rozdzielane tabulacjami
lub spacjami i mogą być otaczane pojedynczymi lub podwójnymi
cudzysłowami. Znak `#' zmienia resztę linii w komentarz, poza sytuacją
gdy jest cytowany. Niezrozumiałe linie są ignorowane z wydaniem
ostrzeżenia. Komendy mogą zawierać odniesienia do zmiennych
środowiskowych. Składnia jest podobna do powłokowej "$VAR" lub
"${VAR}". Zauważ, że wprowadza to niekompatybilność z poprzednimi
wersjami screen, jako że teraz znak '$' musi być chroniony przez '\'
jeśli nie chcemy dokonać podstawienia zmiennej. Łańcuch w pojedynczych
cudzysłowach jest również chroniony od podstawienia zmiennych.
Jako przykłady z dystrybucją screena są przekazywane dwa pliki
konfiguracyjne: "etc/screenrc" i "etc/etcscreenrc". Zawierają one
wiele przydatnych przykładów różnych komend.
Dostosowywanie można również wykonywać 'on-line'. Aby wejść w tryb
komend, wciśnij `C-a :'. Zauważ, że komendy rozpoczynające się od "def"
zmieniają wartości domyślne, podczas gdy inne zmieniają ustawienia
bieżące.
Dostępne są następujące komendy:
acladd nazwyuytkownikw [crypted-pw]
addacl nazwyuytkownikw
Umożliw użytkownikom pełny dostęp do tej sesji screen.
Nazwyuytkownikw mogą być jednym użytkownikiem, lub rozdzieloną
przecinkami listą użytkowników. Opcja ta umożliwia podłączenie do sesji
screen i wykonuje równoważnik `aclchg nazwyuytkownikw +rwx "#?"'.
Aby dodać użytkownika o ograniczonym dostępie, użyj niżej opisanej
komendy `aclchg'. Jeśli podany jest opcjonalny drugi parametr, to
powinno to być zakodowane (crypted) hasło dla podanego użytkownika.
`Addacl' jest synonimem `acladd'. Przydatne tylko w trybie
wieloużytkownikowym.
aclchg nazwyuytkownikw bityuprawnie lista
chacl nazwyuytkownikw bityuprawnie lista
Zmień uprawnienia rozdzielonej przecinkami listy użytkowników. Bity
uprawnień są reprezentowane jako `r', `w' i `x'. Poprzedzenie symbolu
`+' zapewnia uprawnienie, `-' odbiera je. Trzeci parametr jest
rozdzieloną przecinkami listą komend i/lub okien (podawanych albo przez
numer, albo przez tytuł). Specjalna lista `#' odnosi się do wszystkich
okien, `?' do wszystkich komend. Jeśli nazwyuytkownikw składają się z
pojedynczej `*', akcja będzie dotyczyć wszystkich znanych użytkowników.
Komenda może być przez użytkownika wykonywana gdy ma dla niej bit `x'.
Użytkownik może do okna wprowadzać dane wejściowe jeśli ma bit `w', i
żaden inny użytkownik nie blokuje tego okna do zapisu. Inne bity są
obecnie ignorowane. Aby wycofać blokadę zapisu z okna 2: `aclchg
nazwauytkownika -w+w 2'. Aby zezwolić na dostęp tylko dla odczytu do
sesji: `aclchg nazwauytkownika -w "#"'. Gdy tylko użytkownik staje
się znany dla programu screen , może on dołączać się do sesji i
(domyślnie) ma pełne uprawnienia do wszystkich komend i okien.
Uprawnienia wywoływania dla komend acl, `at' i innych również powinny
być usuwane; w przeciwnym wypadku użytkownik może odzyskać prawa
zapisu. Uprawnień specjalnego użytkownika nobody nie można zmieniać tą
komendą (zobacz komendę "su"). `Chacl' jest synonimem `aclchg'.
Działa jedynie w trybie wieloużytkownikowym.
acldel nazwauytkownika
Usuń użytkownika z listy kontrolnej screena. Jeśli jest on obecnie
podłączony, wszystkie wyświetlacze użytkownika są odłączane od sesji.
Nie może się znów podłączyć. Działa jedynie w trybie
wieloużytkownikowym.
aclgrp nazwauytkownika [nazwagrupy]
Tworzy grupy użytkowników, które dzielą wspólne prawa dostępu. Nazwa
grupy jest nazwą użytkownika lidera grupy. Znaczy to, że jeśli
użytkownik nie przejdzie kontroli dostępu, robiona jest kontrola dla
lidera grupy. Użytkownika można usunąć ze wszystkich grup, używając
specjalnej wartości "none" jako nazwygrupy. Jeśli drugi parametr jest
pominięty, wyświetlane są wszystkie grupy, do których należy
użytkownik.
aclumask [[uytkownicy]+bity |[uytkownicy]-bity .... ] umask
[[uytkownicy]+bity |[uytkownicy]-bity .... ]
Określa to dostęp, jaki będą mieli inni użytkownicy do okien tworzonych
przez wołającego komendę. Uytkownicy mogą nie być podani, może być
jeden, lub rozdzielona przecinkami lista nazw użytkowników. Jeśli nie
podano użytkowników, zakładana jest lista wszystkich znanych obecnie
użytkowników. Bity są dowolną kombinacją bitów kontroli dostępu,
zdefiniowanych komendą "aclchg". Specjalna nazwa użytkownika "?"
predefiniuje dostęp do dowolnego okna, jaki na starcie dostaną nieznani
obecnie użytkownicy. Specjalna nazwa użytkownika "??" predefiniuje
dostęp do komend, jaki na starcie dostaną nieznani obecnie użytkownicy.
Praw specjalnego użytkownika nobody nie można zmieniać (zobacz komendę
"su"). `Umask' jest synonimem `aclumask'.
activity wiadomo
Gdy w monitorowanym oknie z tła pojawi się jakaś aktywność, screen
wyświetla informację w linii komunikatów. Powiadomienie może być
przedefiniowywane komendą "activity". Znaki `%' w wiadomoci są
zamieniane na numer okna, w którym zaistniała aktywność, a `~' na
definicję dzwonka w twoim termcapie. Domyślną wiadomością jest
'Activity in window %'
Zauważ, że domyślnie monitorowanie jest wyłączone, lecz można to
zmienić komendą "monitor" (C-a M).
allpartial on|off
Jeśli jest to włączone, po zmianie okna odświeżana jest tylko bieżąca
linia kursora. Ma to wpływ na wszystkie okna i jest przydatne na
powolnych terminalach. Poprzednie ustawienie pełnego/częściowego
odświeżania dla okna można przywrócić poprzez "allpartial off". Jest
to flaga globalna, która natychmiast zaczyna działać we wszystkich
oknach, przesłaniając ustawienia "partial". Nie zmienia domyślnego
zachowania odświeżania nowo tworzonych okien.
at [identyfikator][#|*|%] komenda [arg ... ]
Wywołaj komendę na innych wyświetlaczach lub oknach tak, jakby zostały
one tam wprowadzone. "At" zmienia kontekst (`bieżące okno' lub `bieżący
wyświetlacz') komendy. Jeśli pierwszy parametr opisuje nieunikalny
kontekst, komenda zostanie wykonania wiele razy. Jeśli pierwszy
parametr jest w postaci `identyfikator*', to identyfikator jest
dopasowywany do nazw użytkowników. Komenda jest wykonywana raz na
każdym wyświetlaczu wybranego użytkownika(ków). Jeśli pierwszy
parametr jest postaci `identyfikator%', to identyfikator jest
dopasowywany do wyświetlaczy. Wyświetlacze są nazywane według tty, do
których są podłączone. Prefiks `/dev/' lub `/dev/tty' można pominąć.
Jeśli identyfikator zawiera `#', lub nie ma nic doklejonego, jest
dopasowywany do numerów okien i tytułów. Pominięcie identyfikatora na
początku `#', `*' lub `%' wybiera wszystkich użytkowników, wszystkie
wyświetlacze, lub wszystkie okna. Dzieje się tak dlatego, że dokonywane
jest dopasowanie prefiksowe. Zauważ, że na dotkniętych wyświetlaczach
pojawi się krótki komunikat, określający co się stało. Prawa są
sprawdzane dla inicjatora komendy "at", a nie dla właścicieli
dotkniętych wyświetlaczy. Zauważ, że znak '#' gdy poprzedza go biała
spacja działa jak komentarz. Można go wycytować, poprzedzając znakiem
`\'. Prawa są sprawdzane dla inicjatora komendy "at", a nie dla
właścicieli dotkniętych wyświetlaczy.
Zastrzeżenie: Podczas dopasowywania okien, komenda jest wykonywana
przynajmniej raz na okno. Komendy, które zmieniają wewnętrzną aranżację
okien (jak "other") mogą być wywołane ponownie. Uważaj więc przy
wywoływaniu komend w rodzaju "login"!. Niektóre komendy (np. "stuff",
"process" lub "paste") wymagają by z docelowymi oknami był związany
wyświetlacz. Komendy te mogą nie działać właściwie dla "at" krążącego
po oknach.
autodetach on|off
Ustawia czy screen ma się automatycznie odłączać po odwieszeniu
(hangup), co zachowuje wszystkie twoje pracujące programy aż do ich
wznowienia komendą screen -r. Gdy właściwość jest wyłączona, sygnał
odwieszenia (wysyłany przy wylogowywaniu się--przyp. tłum.) zakończy
screen i wszystkie procesy, które on zawiera. Autoodłączanie jest
domyślnie włączone.
autofixterm on|off
Ustawia czy screen będzie dodawał brakujące właściwości do wpisów
termcap/info. Jest to domyślnie włączone.
autonuke on|off
Ustawia czy sekwencja czyszczenia ekranu powinna niszczyć całe wyjście,
które jeszcze nie zostało wypisane na terminal. Zobacz też "obuflimit".
bell_msg [wiadomo]
Gdy w oknie z tła wysłany jest znak dzwonka, screen wyświetla
informację w linii komunikatów. Informacja może być dzięki tej
komendzie redefiniowana. Znaki `%' wiadomoci są zamieniane numerem
dzwoniącego okna, `~' jest zamieniana na definicję dzwonka w twoim
termcapie. Domyślną wiadomością jest
'Bell in window %'
W celu powstrzymania drukowania linii informacyjnej, można nadać jej
wartość pustą (bell_msg ""). Bez parametrów, pokazywana jest wiadomość
obecna.
bind klawisz [komenda [arg]]
Wiąże komendę do klawisza. Domyślnie, większość komend udostępnianych
przez screen jest przywiązana do jednego lub większej ilości klawiszy,
wg opisu sekcji "DOMYŚLNE WIĄZANIA KLAWISZY", np. komenda tworzenia
nowego okna jest dowiązana do "C-c" i "c". W celu przedefiniowania i
definiowania nowych wiązań używana jest komenda "bind". Argument
klawisz jest albo pojedynczym znakiem, albo dwuznakową sekwencją w
postaci "^x" (oznaczającą "C-x"), albo lewym ukośnikiem z liczbą
ósemkową (oznaczającą kod ASCII znaku), albo lewym ukośnikiem z
dołączonym znakiem, jak "\^" czy "\\". Argument jeśli chcesz może być
również cytowany. Jeśli nie ma podanego dalszego argumentu, wszystkie
poprzednio zestawione wiązania dla tego klawisza są usuwane. Komenda
może być dowolną komendą wymienioną w tej sekcji.
Przykłady:
bind ' ' windows
bind ^k
bind k
bind K kill
bind ^f screen telnet foobar
bind \033 screen -ln -t root -h 1000 9 su
przywiąże spację do komendy, która wyświetla listę okien (więc komenda
normalnie wywoływana przez "C-a C-w" będzie również dostępna jako "C-a
spacja"). Następne trzy linie usuwają domyślne wiązanie zabijania z "C-
a C-l" i "C-a l". Następnie do komendy zabijania wiązane jest "C-a K".
Następnie klawisz "C-f" jest wiązany z komendą tworzenia okna z
połączeniem telnetowym do foobar, a klawisz "escape" jest wiązany do
komendy, która tworzy niezgłoszeniowe okno z a.k.a. "root" w slocie #9,
z powłoką superużytkownika i buforem przewijania na 1000 linii.
bindkey [-d] [-m] [-a] [[-k|-t] acuch [kmd arg]]
Komenda ta zarządza wejściowymi tablicami translacji screena. Każdy
wpis w jednej z tablic mówi mu jak reagować gdy pojawi się określona
sekwencja znaków. Istnieją trzy tablice: jedna, która powinna zawierać
akcje zaprogramowane przez użytkownika, druga dla domyślnych akcji
emulacji terminala i trzecia dla trybu kopiowania screena do zajmowania
się poruszaniem kursora. Zobacz sekcję "TRANSLACJA WEJŚCIOWA" dla listy
domyślnych wiązań klawiszowych.
Jeśli podana jest opcja -d, bindkey modyfikuje domyślną tablicę, -m
zmienia tablicę trybu kopiowania, a bez żadnej opcji wybierana jest
tablica użytkownika. Argument acuch jest sekwencją znaków, do której
przywiązana jest akcja. Może to być albo skończony napis, albo nazwa
właściwości klawiaturowej z termcap (wybierana opcją -k).
Niektóre klawisze terminala VT100 mogą wysyłać inne łańcuchy gdy
włączony jest tryb aplikacji (np. ruchy kursora). Takie klawisze mają
dwa wpisy w tablicy translacji. Możesz wybrać wpisy trybu aplikacji
podając opcję -a.
Opcja -t mówi screenowi by nie dokonywał międzyznakowego pomiaru czasu.
Nie można go wyłączyć jeśli używana jest właściwość termcap.
Kmd może być dowolną z komend screena o określonej liczbie argumentów.
Jeśli kmd jest pominięta, wiązanie klawiszowe jest usuwane z tablicy.
Oto kilka przykładów wiązań klawiaturowych:
bindkey -d
Pokaż wszystkie domyślne wiązania klawiaturowe. Wpisy trybu aplikacji
są zaznaczone [A].
bindkey -k k1 select 1
Upewnij się, że klawisz "F1" przełącza na okno numer 1.
bindkey -t foo stuff barfoo
Uczyń z "foo" skrót dla słowa "barfoo". Czas oczekiwania jest
wyłączony, więc użytkownicy mogą się guzdrać z wklepywaniem.
bindkey "\024" mapdefault
To wiązanie klawiszowe powoduje, że "^T" staje się znakiem specjalnym
wiązań klawiaturowych. Jeśli dokonałeś powyższego wiązania "stuff
barfoo", możesz wprowadzić słowo "foo" naciskając "^Tfoo". Jeśli chcesz
wprowadzić "^T", musisz nacisnąć go dwukrotnie.
bindkey -k F1 command
Uczyń F11 (nie F1!) alternatywnym znakiem specjalnym screena (poza ^A).
break [czas]
Wysyłaj do tego okna przez czas*0.25 sekund sygnał przerwania. Dla
systemów nieposixowych, interwał czasowy może być zaokrąglany w górę do
pełnych sekund. Jest to przydatne jeśli do okna jest podłączone
urządzenie znakowe (a nie proces powłokowy) (Zobacz też rozdział
"RODZAJE OKIEN"). Maksymalny czas trwania sygnału przerwania jest
ograniczony do 15 sekund.
breaktype [tcsendbreak|TIOCSBRK |TCSBRK]
Wybierz jedną z dostępnych metod generowania sygnału przerwania dla
urządzeń terminalowych. Komenda ta powinna dotykać jedynie bieżącego
okna. Wciąż jednak zachowuje się identycznie do "defbreaktype". W
przyszłości będzie to zmienione. Wołanie "breaktype" bez parametrów
wyświetla metody przerywania dostępne dla bieżącego okna.
bufferfile [exchange-file]
Zmień nazwę pliku używaną do odczytywania i zapisywania buforu
wklejania. Jeśli pominięty jest opcjonalny argument plikowy,
reaktywowane jest domyślne ustawienie ("/tmp/screen-exchange").
Następujący przykład przekopiuje plik z hasłami systemowymi na okno
screen:
C-a : bufferfile /etc/passwd
C-a < C-a ]
C-a : bufferfile
c1 [on|off]
Zmień przetwarzanie kodu c1. "C1 on" mówi screenowi by traktował znaki
wejściowe z przedziału 128..159 jako funkcje sterujące. Takie 8-bitowe
kody są normalnie takie same jak ESC z dołączonym kodem 7-bitowym.
Domyślne ustawienie przetwarza kody c1 i może być zmienione komendą
"defc1". Użytkownicy z fontami, które mają użyteczne znaki w pozycjach
c1 mogą to wyłączyć.
caption always|splitonly [acuch]
caption string [acuch]
Komenda ta kontroluje wyświetlanie tytułów okien. Normalnie tytuł jest
używany tylko jeśli na wyświetlaczu pokazywanych jest więcej niż jedno
okno (tryb podzielonego ekranu--splitonly). Jeśli typ jest ustawiony na
always screen pokazuje tytuł nawet jeśli wyświetlane jest tylko jedno
okno. Wartością domyślną jest splitonly.
Druga postać zmienia tekst używany na tytuł. Możesz używać wszystkich
znaków specjalnych z rozdziału "ZNAKI SPECJALNE TEKSTOWE". Screen używa
wartości domyślnej, `%3n %t'.
Możesz łączyć obie formy, dając łańcuch jako argument dodatkowy.
charset zestaw
Zmień desygnację obecnego slotu zestawu znaków i mapowania zestawu
znaków. Pierwsze cztery znaki zestawu są traktowane jako desygnatory
zestawu znaków, podczas gdy piąty i szósty znak, będące w zakresie '0'
do '3', ustawiają mapowanie zestawu znaków GL/GR. Na każdej pozycji
można użyć znaku '.', co oznacza, że odpowiadający mu zestaw
znaków/mapowanie nie powinno być zmieniane. (zestaw jest wewnętrznie
dopełniany do sześciu znaków przez doklejenie znaków '.'). Domyślnym
zestawem znaków dla nowych okien jest "BBBB02", chyba że aktywna jest
komenda "kanji".
Bieżące ustawienia można obejrzeć komendą "info".
chdir [katalog]
Zmień katalog biecy screena na podany katalog lub, jeśli wywołane bez
argumentów, na twój katalog domowy (zawartość zmiennej środowiskowej
$HOME). Wszystkie okna, tworzone komendą "screen" z wewnątrz
".screenrc" lub poprzez "C-a : screen ..." czy "C-a c" będą go używały
jako katalogu domyślnego. Bez używania chdir, katalogiem tym byłby
katalog, z którego wywołano screen. Pliki twardych kopii (hardcopy
files) i pliki raportowe zawsze są zapisywane do domyślnego katalogu
okna, a nie do katalogu bieżącego procesu, pracującego w oknie. Możesz
używać tej komendy w swoim .screenrc wielokrotnie. Umożliwia to
uruchamianie różnych okien w różnych katalogach. Jednakże ostatnie
chdir będzie dotyczyć wszystkich okien tworzonych interaktywnie.
clear
Czyści bieżące okno i zapisuje jego obraz w buforze przewijania.
colon [prefiks]
Umożliwia wpisywanie linii poleceniowych ".screenrc". Przydatne do
podręcznej modyfikacji wiązań klawiszowych, specyficznego tworzenia
okien i zmieniania ustawień. Zauważ, że słowo kluczowe "set" już nie
istnieje! Zazwyczaj komendy tyczą się bieżącego okna, a nie domyślnych
ustawień dla przyszłych okien. Wartości domyślne zmienia się komendami,
rozpoczynającymi się od 'def...'.
command
Komenda ta ma taki sam skutek, jak wpisanie znaku specjalnego (^A).
Jest chyba przydatna jedynie dla wiązań klawiaturowych. Zobacz też
"bindkey".
compacthist [on|off]
Mówi to screenowi czy powstrzymywać doczepione puste linie podczas
przewijania tekstu w górę w buforze historii.
console [on|off]
Zbiera lub "od-zbiera" (ungrabs) wyjście konsoli do okna. Uwaga:
Jedynie właściciel /dev/console może zbierać wyjście konsoli. Komenda
ta jest dostępna jeśli maszyna obsługuje ioctl TIOCCONS.
copy
Wejdź w tryb kopiowania/przewijania wstecz. Umożliwia to kopiowanie z
bieżącego okna (i jego historii) tekstu do buforu wklejania. W trybie
tym dostępny jest vi-podobny pełnoekranowy edytor:
Poruszanie si:
h, j, k, l przesuń linię kursora o linię lub kolumnę o kolumnę.
0, ^ i $ przesuń do krańcowo lewej kolumny, do pierwszego lub
ostatniego różnego od białej spacji znaku linii.
H, M i L przesuń kursor do krańcowo lewej kolumny na górze, środku,
lub dole okna.
+ i - przesuwa o jedną linię w górę i w dół.
G przesuwa do podanej linii absolutnej (domyślnie: koniec bufora).
| przesuwa do podanej kolumny absolutnej.
w, b, e przesuwaj kursor słowo po słowie.
C-u i C-d przewijaj wyświetlacz w górę i w dół o podaną ilość linii,
zachowując pozycję kursora. (Domyślnie: połowa ekranu).
C-b i C-f przewijaj wyświetlacz w górę/dół o pełny ekran.
g przesuwa na początek bufora.
% skacze do podanego procentu bufora.
Uwaga:
Komendą .screenrc można dostosować klawisze do stylu emacsa. (Np.
markkeys "h=^B:l=^F:$=^E") Nie ma prostej metody na pełną mapę
klawiszy w stylu emacsa, gdyż wymaga to wieloznakowych kodów.
Zaznaczanie:
Zakres kopiowania jest ustalany przez ustawienie dwóch znaczników.
Tekst między nimi zostaje podświetlany. Naciśnij
spację do ustawienia pierwszego lub drugiego znacznika.
Y i y są używane do zaznaczania całej linii lub do zaznaczania od
początku linii.
W zaznacza dokładnie jedno słowo.
Licznik powtrze:
Każdą z tych komend można poprzedzić licznikiem powtórzeń,
naciskając cyfry
0..9, które są następnie uważane za liczniki powtórzeń.
Przykład: "C-a C-[ H 10 j 5 Y" skopiuje linie 11 do 15 do bufora
wklejania.
Szukanie:
/ Vi-podobne szukanie naprzód.
? Vi-podobne szukanie wstecz.
C-a s Emacsopodobne inkrementalne szukanie naprzód.
C-r Emacsopodobne odwrócone i-szukanie.
Specjalnoci:
Istnieje kilka klawiszy, zachowujących się inaczej niż w vi. Vi
nie umożliwia zaznaczania prostokątnych bloków tekstu, lecz screen
to umożliwia. naciśnij
c lub C aby ustawić lewy lub prawy margines. Jeśli nie podano
licznika powtórzeń, obydwa odnoszą się do bieżącej pozycji kursora.
Przykład: Wypróbuj to na zapełnionym tekstem ekranie: "C-a [ M 20 l
SPACE c 10 l 5 j C SPACE".
Przechodzi to na środkową linię ekranu, przesuwa się 20 kolumn w
lewo, zaznacza początek bufora wklejania, ustawia lewą kolumnę,
przesuwa 5 kolumn w dół (w prawo?--przyp. tłum.), zaznacza prawą
kolumnę, a następnie zaznacza koniec bufora wklejania. Wypróbuj
teraz:
"C-a [ M 20 l SPACE 10 l 5 j SPACE"
i zwróć uwagę na różnicę w ilości skopiowanego tekstu.
J łączy linie. Przełącza się między 4 trybami: linie rozdzielane
znakiem nowej linii (012), linie sklejone bez szwów (lines glued
seamless), linie rozdzielone pojedynczą białą spacją, linie
rozdzielone przecinkami. Zauważ, że możesz poprzedzać znak nowej
linii znakiem CR, używając "crlf on".
v jest dla wszystkich użytkowników vi z ":set numbers" - włącza lewy
margines między kolumną 9 a 1. Naciśnij
a przed ostatnim klawiszem spacji aby włączyć tryb doklejania. W ten
sposób bufor wklejania nie będzie nadpisywany, lecz zostanie do
niego dopisana nowa treść.
A włącza tryb doklejania i ustawia (drugi) znacznik.
> ustawia (drugi) znacznik i zapisuje zawartość bufora wklejania do
pliku wymiany screena (domyślnie /tmp/screen-exchange) po
zakończeniu trybu kopiowania.
Przykład ten demonstruje jak wrzucić do tego pliku cały bufor
przewijania: "C-A [ g SPACE G $ >".
C-g podaje informację o bieżącej linii i kolumnie.
x wymienia pierwszy znacznik i pozycję kursora. Możesz używać tego do
dostrajania już ustawionego znacznika.
@ nie robi nic. Nawet nie kończy trybu kopiowania.
Wszystkie nie opisane tutaj klawisze kończą tryb kopiowania.
copy_reg [klucz]
Już nie istnieje, użyj zamiast tego "readreg".
crlf [on|off]
Ma to wpływ na kopiowanie regionów tekstu komendą `C-a ['. Jeśli jest
włączone, linie będą rozdzielane sekwencją znaków `CR' - `LF'. W
przeciwnym wypadku (domyślnie) używane będzie tylko `LF'. Bez
parametrów, stan jest włączany.
debug on|off
Włącza lub wyłącza debuggowanie czasu działania.
defc1 on|off
To samo co komenda c1 lecz domyślne ustawienie dla nowych okien jest
zmieniane. Początkowym ustawieniem jest `on'.
defautonuke on|off
To samo co autonuke, lecz domyślne ustawienie dla nowych wyświetlaczy
jest zmieniane. Początkowe ustawienie to `off'. Zauważ, że jeśli chcesz
być zależnym od typu terminala, możesz użyć specjalnej właściwości `AN'
terminala.
defbreaktype [tcsendbreak|TIOCSBRK |TCSBRK]
Wybierz jedną z dostępnych metod generowania sygnału przerwania (break)
dla urządzeń terminalowych. Preferowanymi metodami są tcsendbreak oraz
TIOCSBRK. Trzecia, TCSBRK, blokuje całą sesję screen na czas
przerywania, lecz może być jedynym sposobem generowania dłuższych
przerwań. Tcsendbreak i TIOCSBRK mogą (lub nie) dawać długie
przerwania ze szpicami (z przerwami?--with spikes) (np. 4 na sekundę).
Jest to nie tylko zależne od systemu, lecz zależy również od
sterowników układów szeregowych. Wywoływanie "defbreaktype" bez
parametru wyświetla bieżące ustawienie.
defcharset [zestaw]
Podobne do komendy charset, lecz domyślne ustawienie dla nowych okien
jest też zmieniane. Po wywołaniu bez argumentu, pokazuje bieżącą
wartość domyślną.
defescape xy
Ustaw domyślne znaki komend. Jest to równoważne "escape", ale jest
przydatne tylko w sesjach wieloużytkownikowych. W takiej sesji "escape"
zmienia znaki komend użytkownika, który wywołał to polecenia, podczas
gdy "defescape" zmienia domyślne znaki komend dla użytkowników, którzy
będą dodawani później.
defflow on|off|auto [interrupt]
To samo co komenda flow, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest `auto'. Podanie "defflow
auto interrupt" jest równoważne opcjom linii komend -fa i -i.
defgr on|off
To samo co komenda gr, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest `off'.
defhstatus [status]
Linia twardego status, którą otrzymają wszystkie nowe okna jest
ustawiana na status. Komenda ta jest przydatna do wyświetlenia poprzez
status każdego okna jego numeru, tytułu, itp. Status może zawierać te
same dyrektywy co komunikaty okna, lecz znakiem specjalnym (escape
character) dyrektywy jest '^E' (ósemkowe 005) zamiast '%'. Zrobione
jest to w celu uniemożliwienia złej interpretacji generowanych przez
program linii statusu. Jeśli parametr status jest pominięty,
wyświetlany jest bieżący łańcuch domyślny. Domyślnie, linie statusu
nowych okien są puste.
defkanji jis|sjis|euc
To samo co komenda kanji, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest `off', np. `jis'.
deflogin on|off
To samo co komenda login, lecz zmieniane jest domyślne ustawienie dla
nowych okien. W dystrybucji inicjalizowane jest to na `on' (zobacz
config.h.in).
defmode prawa
Prawa każdego z nowo zaalokowanych pseudo-tty są ustawiane na prawa.
Prawa są liczbą ósemkową. Początkowo, używane są prawa 0622. (prawa
dostępu, tryb, mode -- przyp. tłum.)
defmonitor on|off
To samo co komenda monitor, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest `off'.
defobuflimit limit
To samo co obuflimit, lecz zmieniane jest domyślne ustawienie dla
nowych wyświetlaczy. Początkowym ustawieniem jest 256 bajtów. Zauważ,
że jeśli chcesz być zależnym od typu terminala, możesz użyć właściwości
'OL'.
defscrollback num
To samo co scrollback, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest 100.
defshell komenda
Synonim komendy shell. Patrz tam.
defsilence on|off
To samo co komenda silence, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest `off'.
defslowpaste msec"
To samo co slowpaste, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowym ustawieniem jest 0 milisekund, co oznacza
wyłączenie.
defwrap on|off
To samo co wrap, lecz zmieniane jest domyślne ustawienie dla nowych
okien. Początkowo zawijanie linii jest włączone i może być przełączane
komendą "wrap" ("C-a r") lub poprzez "C-a : wrap on|off".
defwritelock on|off|auto
To samo co writelock, lecz zmieniane jest domyślne ustawienie dla
nowych okien. Początkowo blokady zapisu są wyłączone.
defzombie [keys]
Synonim komendy zombie. Obie w chwili obecnej zmieniają wartość
domyślną. Patrz tam.
detach
Odłącz sesję screen (odłącz ją od terminala i wrzuć w tło). Powracasz
wtedy do powłoki, z której wywołałeś screen. Odłączonego screena można
wznowić, wywołując screen z opcją -r. (Zobacz też sekcję "OPCJE LINII
KOMEND".)
displays
Pokazuje tabularyczny listing wszystkich obecnie podłączonych front-
endów użytkownika (wyświetlaczy). Jest to przydatne w sesjach
wieloużytkownikowych.
digraph [preset]
Komenda ta bierze użytkownika o sekwencję dwuznakową. Wpisane dwa znaki
są sprawdzane we wbudowanej tablicy, a znak wynikowy jest wstawiany do
strumienia wejściowego. Na przykład, jeśli użytkownik wprowadzi 'a"',
wstawiony zostanie a-umlaut. Jeśli pierwszym wprowadzonym znakiem jest
0, screen potraktuje następne znaki (do trzech) jako liczbę ósemkową.
Opcjonalny argument preset jest traktowany jako wejście użytkownika.
Można więc zrobić sobie klawisz "umlaut". Na przykład, komenda "bindkey
^K digraph '"'" umożliwia użytkownikowi generowanie a-umlaut przez
wpisanie CTRL-K a.
dumptermcap
Zapisz wpis termcap dla wirtualnego terminala, zoptymalizowanego dla
aktualnie aktywnego okna. Zapis nastąpi do pliku ".termcap" w katalogu
"$HOME/.screen" użytkownika (lub tam, gdzie screen przechowuje swoje
gniazda. Zobacz sekcję "PLIKI"). Ten wpis termcap jest identyczny z
wartością zmiennej środowiskowej $TERMCAP, która jest ustawiana przez
screen dla każdego okna. Dla systemów opartych na terminfo, możesz
potrzebować konwertera w rodzaju captoinfo oraz kompilować wpis z
pomocą tic.
echo [-n] wiadomo
komenda echo może być używana do denerwowania użytkowników screen
'wiadomościami dnia'. Zazwyczaj jest to instalowane w globalnym
/etc/screenrc. Opcja "-n" powoduje zatrzymanie wciągania nowej linii.
Zobacz też "sleep". Echo jest też przydatne do testowania online
zmiennych środowiskowych.
escape xy
Ustaw znak komendy na x, a znak generujący literalny znak komendy
(przez wywołanie komendy "meta") na y (podobne do opcji -e). Każdy
argument może być albo pojedynczym znakiem, albo dwuznakową sekwencją w
postaci "^x" (oznaczającą "C-x"), albo lewym ukośnikiem z liczbą
ósemkową (kod ASCII znaku), albo lewym ukośnikiem z drugim znakiem, w
rodzaju "\^" czy "\\". Domyślną wartością jest "^Aa".
exec [[fdpat] nowakomenda [arg ...]]
Uruchom w bieżącym oknie podproces unixowy (określony przez ścieżkę
wykonywalną nowakomenda i jej argumenty). Przepływ danych między
stdin/stdout/stderr nowejkomendy, procesem początkowo uruchomionym w
oknie (powiedzmy "procesem-aplikacji") i screenem (oknem) jest
kontrolowany przez wzorzec deskryptora plików fdpat. Wzorzec jest
sekwencją trójznakową, reprezentującą stdin, stdout i stderr
nowejkomendy. Kropka (.) łączy deskryptor pliku do screena. Znak
wykrzyknika (!) powoduje, że deskryptor jest podłączany do procesu-
aplikacji. Dwukropek (:) łączy obydwa te zadania. Do nowej komendy
będzie przechodziło wejście użytkownika, chyba że komenda otrzymuje
wyjście procesu-aplikacji (pierwszym znakiem fdpat jest `!' lub `:')
lub do końca fdpat (jako czwarty znak) dodano znak potoku (|).
Wywoływanie `exec' bez argumentów pokazuje nazwę i argumenty bieżącego
podprocesu aktualnego okna. W każdym oknie naraz może działać tylko
jeden podproces.
Gdy podproces akurat wykonuje się, komenda `kill' będzie dotyczyć jego,
a nie procesów okien.
Dla ciężkostrawnej ilustracji wszystkich 21 kombinacji, zobacz
`doc/fdpat.ps'. Każdy rysunek pokazuje cyfry 2,1,0, odwzorowujące trzy
deskryptory nowejkomendy. Skrzynka oznaczona jako `W' jest normalnym
pty, który na stronie biernej (slave) ma proces-aplikacji. Skrzynka
zaznaczona jako `P' jest drugorzędnym pty, który po swojej stronie
nadrzędnej (master) ma screen.
Skróty:
Biała spacja między słowem `exec', fdpat i komendą może być opuszczona.
Fdpat składający się z samych kropek, lub jego końcowe kropki można
pominąć. Prosty `|' jest synonimem do wzorca `!..|'; słowo exec można
tu pominąć, a zawsze można je zastąpić `!'.
Przykłady:
exec ... /bin/sh
exec /bin/sh
!/bin/sh
Tworzy nową powłokę w tym samym oknie, podczas gdy powłoka wyjściowa
wciąż działa. Wyjście obydwu powłok jest wyświetlane, a wejście
użytkownika jest wysyłane do nowego /bin/sh.
exec !.. stty 19200
exec ! stty 19200
!!stty 19200
Ustaw szybkość tty okna. Jeśli twoja komenda stty operuje na stdout,
dodaj kolejny `!'.
exec !..| less
|less
Dodaje to przeglądarkę do wyjścia okna. Znak specjalny `|' jest
potrzebny do uzyskania kontroli użytkownika nad przeglądarką, choć
dostaje ona swoje wejście z procesu okna. Działa to, ponieważ less
nasłuchuje stderr (zachowanie, którego screen nie oczekiwałby bez `|')
kiedy jego stdin nie jest tty. Wersje less, nowsze niż 177 wypadają tu
żałośnie; jednak stary, dobry pg wciąż działa.
!:sed -n s/.*Error.*/\007/p
Wysyła wyjście okna do użytkownika i komendy sed. Sed wstawia do
wyjścia okna widzianego przez screen dodatkowy znak dzwonka (ósemkowy
007). Spowoduje to wyświetlenie komunikatu "Bell in window x", za
każdym łańcuchem "Error", który pojawi się w oknie.
fit
Zmień rozmiar okna na rozmiar bieżącego regionu. Komenda ta jest
wymagana, gdyż screen automatycznie nie adaptuje rozmiaru okna jeśli
okno jest wyświetlane więcej niż raz.
flow [on|off|auto]
Ustawia tryb kontroli przepływu dla tego okna. Bez parametrów,
przesuwa on kontrolę bieżącego okna z "automatic" na "on" na "off".
Zobacz dyskusję o "KONTROLI-PRZEPŁYWU", opisanej niżej w tym dokumencie
dla pełnych szczegółów i odpowiednich uwag. Wartość domyślna jest
ustawiana przez `defflow'.
focus
Przenieś ognisko wejściowe na następny region. Jest to dokonywane w
cykliczny sposób tak, że region górny jest wybierany po dolnym.
gr [on|off]
Włącza/wyłącza przełączanie zestawu znaków GR (ang. GR charset
switching). Za każdym razem, gdy screen zauważy znak wejściowy z
ustawionym ósmym bitem, skorzysta ze znaku ze slotu GR i wydrukuje znak
z obciętym ósmym bitem. Domyślną wartością (zobacz też "defgr") jest
nieprzetwarzanie przełączania GR, gdyż może to spowodować niedziałanie
zestawu znaków ISO-8859-1.
hardcopy
Zapisuje obecnie wyświetlany obraz do pliku hardcopy.n (w katalogu
domyślnym okna), gdzie n jest numerem bieżącego okna. Komenda może albo
doklejać, albo nadpisywać istniejący plik. Patrz niżej.
hardcopy_append on|off
Jeśli jest to ustawione na "on", screen będzie doklejał dane do plików
"hardcopy.n" komendy "C-a h". W przeciwnym wypadku, pliki te będą za
każdym razem nadpisywane. Domyślnie doklejanie jest wyłączone.
hardcopydir katalog
Definiuje katalog plików hardcopy. Jeśli jest to nieustawione, pliki te
lądują w bieżącym katalogu roboczym screena.
hardstatus [on|off]
hardstatus [always]lastline|message|ignore [acuch]
hardstatus string [acuch]
Komenda ta konfiguruje używanie i emulację terminalowej linii twardego
statusu (hardstatus line). Pierwsza postać przełącza czy screen
powinien używać sprzętowej linii statusu do wyświetlania komunikatów.
Jeśli flaga jest wyłączona, komunikaty te są nakładane w trybie
inwersyjnym na linię wyświetlania. Domyślnym ustawieniem jest `on'
(włączone).
Druga postać mówi screenowi co robić, jeśli terminal nie posiada linii
twardego statusu (np. gdy właściwości termcap/terminfo "hs", "ts", "fs"
i "ds" nie są ustawione). W wypadku użycia typu "lastline", screen
Zarezerwuje ostatnią linię wyświetlacza na twardy status. Typ "message"
używa screenowego mechanizmu komunikatów, a "ignore" mówi by screen
nigdy nie wyświetlał twardego statusu. Jeśli do typu dokleisz słowo
"always", screen użyje tego typu nawet jeśli terminal posiada twardy
status.
Trzecia postać określa zawartość linii twardego statusu. Domyślnym
łańcuchem jest '%h', tj. wyświetlany jest zachowany twardy status okna
(ustawialny poprzez \E]0;^G or \E_\\). Możesz to dostosować do
dowolnego łańcucha, jaki zechcesz, łącznie ze znakami specjalnymi z
rozdziału "ZNAKI SPECJALNE ŁAŃCUCHÓW". Jeśli pominiesz argument
acuch, wyświetlony zostanie łańcuch bieżący.
Możesz łączyć drugą i trzecią postać, podając łańcuch jako argument
dodatkowy.
height [wiersze]
Ustaw wysokość wyświetlacza na podaną liczbę wierszy. Bez argumentów
następuje przełączanie między wyświetlaczem 24-liniowym i 42-liniowym.
help
Nie jest to naprawdę pomoc online, lecz wyświetlanie okna pomocy,
pokazującego wszystkie wiązania klawiszowe. Pierwsze strony wymieniają
wszystkie wewnętrzne komendy wraz z ich obecnymi wiązaniami. Dalsze
strony pokazują zwyczajowe komendy, po jednej na klawisz. Przewijanie
następuje przez naciskanie spacji, a koniec oglądania to return.
Wszystkie inne znaki są ignorowane. Zobacz też sekcję "DOMYŚLNE
WIĄZANIA KLAWIATUROWE".
history
Użytkownicy zwykle pracują z powłokami, umożliwiającymi łatwy dostęp do
poprzednich komend. Na przykład w csh komenda "!!" służy do powtarzania
ostatniej wywołanej komendy. Screen udostępnia prosty sposób
przywoływania "komendy, która rozpoczęła się ...": Wpisuje się po
prostu pierwszą literę komendy, następnie naciska `C-a {' i screen
zaczyna szukać poprzedniej linii, która zostanie dopasowana do `znaku
zachęty' na lewo od kursora. Linia ta jest wklejana do kolejki
wejściowej okna. W ten sposób masz brutalną historię komend (stworzoną
z widzialnego okna i jego bufora przewijania).
hstatus status
Zmień linię twardego statusu na łańcuch status.
info
Używa linii komunikatów do wyświetlania informacji o bieżącym oknie: są
to pozycja kursora w postaci "(kolumna,wiersz)" (rozpoczynająca się od
"(1,1)") szerokość i wysokość terminala plus rozmiar bufora przewijania
w wierszach (np. "(80,24)+50"), bieżący stan kontroli przepływu
XON/XOFF okna pokazany następująco (Zobacz też sekcję KONTROLA
PRZEPŁYWU):
+flow automatyczna kontrola przepływu, aktualnie włączona.
-flow automatyczna kontrola przepływu, aktualnie wyłączona.
+(+)flow włączona kontrola przepływu. Zgadza się z kontrolą automatyczną.
-(+)flow wyłączona kontrola przepływu. Nie zgadza się z kontrolą automatyczną.
+(-)flow włączona kontrola przepływu. Nie zgadza się z kontrolą automatyczną.
-(-)flow wyłączona kontrola przepływu. Zgadza się z kontrolą automatyczną.
Bieżące ustawienie zawijania linii (`+wrap' oznacza włączenie, `-wrap'
wyłączenie) jest także pokazywane. Wyświetlane są też flagi `ins',
`org', `app', `log', `mon' lub `nored'. Odpowiadają one trybom pracy:
wstawiania (insert), origin, aplikacji-keypadu oraz stanom pracy:
raportowanie wyjścia (log), monitorowanie aktywności (mon), lub
częściowe odświeżanie (nored).
Wyświetlany jest również aktywny obecnie zestaw znaków (G0, G1, G2, lub
G3) oraz w nawiasach kwadratowych zestawy znaków terminala, desygnowane
obecnie jako G0 do G3.
Na końcu linii statusu wyświetlane są też dodatkowe tryby, zależne od
rodzaju okna (Zobacz rozdział "RODZAJE OKIEN").
Jeśli maszyna stanu emulatora terminala nie jest w stanie domyślnym, to
linia info jest rozpoczynana łańcuchem określającym bieżący stan.
Dla informacji o systemie użyj komendy "time".
ins_reg [klucz]
Już nie istnieje, użyj "paste".
kanji jis|euc|sjis [jis|euc|sjis]
Powiedz screenowi, jak przetwarzać wejście/wyjście kanji. Pierwszy
argument ustawia typ kanji bieżącego okna. Każde okno może emulować
inny typ. Dodatkowy drugi parametr mówi, jak zapisywać kody kanji na
podłączonym terminalu. Preferowaną metodą ustawiania typu wyświetlacza
jest używanie wpisu "KJ" termcapu. Zobacz też "defkanji", który
zmienia domyślne ustawienie dla nowych okien.
kill
Zabij bieżące okno.
Jeśli pracuje w nim komenda `exec', to jest ona zabijana. W przeciwnym
wypadku, proces (powłoka) okna otrzymuje sygnał HANGUP, struktura okna
jest usuwana, a screen (twój wyświetlacz) przełącza się na inne okno.
Gdy niszczone jest ostatnie okno, screen kończy pracę. Po komendzie
kill, screen przełącza się na poprzednio wyświetlane okno.
Uwaga: Użytkownicy emacsa powinni pamiętać o tej komendzie przy
zabijaniu linii. Zalecane jest nie używać "C-a" jako klawisza
specjalnego screena, lub przewiązywać kill do "C-a K".
lastmsg
Wyświetl na nowo ostatnią zawartość linii komunikatów/statusu.
Przydatne, jeśli wpisujesz coś podczas pojawiania się komunikatu.
Wiadomość bowiem znika gdy przyciśnie się jakiś klawisz (chyba że
terminal ma sprzętową linię statusu). W celu dostrajania, zobacz
komendy "msgwait" i "msgminwait".
license
Wyświetl stronę opisową. Jest to dokonywane za każdym razem, gdy screen
jest uruchamiany bez opcji, co powinno wystarczać. Zobacz tez komendę
"startup_message".
lockscreen
Zablokuj ten wyświetlacz. Wywołaj program blokujący screena
(/usr/bin/lock lub wbudowany ekwiwalent jeśli nie ma nic innego).
Screen nie przyjmuje żadnych klawiszy komend dopóki program ten nie
zakończy działania. W międzyczasie procesy okien mogą kontynuować
działanie, gdyż okna są w stanie `odłączonym'. Program blokujący może
być zmieniony poprzez zmienną środowiskową $LOCKPRG (która musi być
ustawiana w powłoce, z której screen jest uruchamiany). Program ten
jest uruchamiany z uid i gid użytkownika.
Uwaga: Gdy inne powłoki zostawisz niezablokowane i nie masz ustawionego
hasła dla screen, blokowanie jest puste: możnaby łatwo podłączyć się na
nowo z niezablokowanej powłoki. Właściwość ta powinna być raczej
nazywana `lockterminal'.
log [on|off]
Uruchom/zakończ zapisywanie wyjścia bieżącego okna do pliku
"screenlog.n" w domyślnym katalogu okna, gdzie n jest numerem bieżącego
okna. Nazwa pliku może być zmieniana komendą `logfile'. Bez podanych
parametrów, raportowanie jest przełączane. Raport sesji jest doklejany
do poprzedniej zawartości wcześniej istniejącego pliku (jeśli plik nie
istniał, tworzony jest nowy). Bieżąca zawartość i zawartość historii
przewijania nie jest uwzględniana w raporcie sesji. Domyślnie
wyłączone.
logfile nazwapliku
logfile flush sekundy
Definiuje nazwę plików raportowych. Domyślną nazwą jest "screenlog.%n".
Druga postać zmienia liczbę sekund, którą screen odczekuje przed
wypróżnieniem bufora pliku raportowego do systemu plików. Domyślną
wartością jest 10 sekund.
login [on|off]
Dodaje lub usuwa wpis z bazy utmp dla bieżącego okna. Kontroluje to czy
okno jest `wlogowane'. Bez parametrów, stan zgłoszeniowy okna jest
przełączany. Dodatkowo do tego przełączania, dobrze jest mieć klawisze
`log in' i `log out'. Np. `bind I login on' i `bind O login off'
zmapuje te klawisze na C-a I i C-a O. Domyślne ustawienie (w
config.h.in) powinno być włączone dla screena, pracującego z suid-root.
Użyj komendy "deflogin" do zmieniania domyślnego stanu zgłoszeniowego
nowych okien. Obydwie komendy obecne są tylko jeśli screen został
skompilowany z obsługą utmp.
logtstamp [on|off]
logtstamp after [sekundy]
logtstamp string [acuch]
Ta komenda kontroluje mechanizm pieczątek czasowych (time stamp)
screena. Jeśli pieczątki są włączone, screen po dwóch minutach
nieaktywności do pliku raportowego dodaje łańcuch, zawierający bieżący
czas. Gdy natomiast wyjście zaczyna się na nowo, doklejana jest nowa
pieczątka, określająca moment restartu emitowania wyjścia. Czas
opóźnienia można zmieniać drugą postacią tej komendy. Trzecia postać
jest używana do dostosowywania łańcucha pieczątki czasowej. (domyślnie
`-- %n:%t -- time-stamp -- %M/%d/%y %c:%s --\n').
mapdefault
Powiedz screenowi, że następny znak wejściowy powinien zostać
sprawdzony w domyślnej tablicy wiązań klawiszowych bindkey. Zobacz też
"bindkey".
mapnotnext
Podobne do mapdefault, lecz w ogóle nie zagląda do domyślnej tablicy
bindkey.
maptimeout [timo]
Ustawia opóźnienie międzyznakowe dla sekwencji wejściowych do
wykrywania czasu opóźnienia timo ms. Domyślnym czasem jest 300ms.
Maptimeout bez argumentów pokazuje bieżące ustawienie. Zobacz też
"bindkey".
markkeys acuch
Jest to metoda zmieniania mapy klawiszowej, używanej w trybie
kopiowania/historii. Łańcuch jest złożony z par staryznak=nowyznak,
które są rozdzielone znakami `:'. Na przykład: Łańcuch "B=^B:F=^F"
zmieni klawisze `C-b' i `C-f' na wiązania w stylu vi. Komenda
"markkeys h=^B:l=^F:$=^E" ustawiłaby tryb na wiązania w stylu emacsa.
Jeśli twój terminal wysyła znaki, które powodują, że przerywasz tryb
kopiowania, to komenda ta może być pomocna w wiązaniu tych znaków do
nie robienia niczego. Znak braku operacji to `@' i jest używany
następująco: "markkeys @=L=H". Komenda ta powoduje odłączenie komend
`H' i `L'. Jak pokazano w tym przykładzie, w pojedynczej instrukcji do
pojedynczej funkcji można przywiązać wiele klawiszy.
meta
Wstawia znak komendy (C-a) w strumieniu wejściowym bieżącego okna.
monitor [on|off]
Włącza monitorowanie aktywności okien. Gdy jest to włączone, a aktywne
okno jest przełączone w tło, otrzymasz komunikat informujący o
aktywności. Pojawi się on w linii statusu przy pierwszych oznakach
wydawania wyjścia przez tamto okno. W wyświetlaczu statusu okien takie
okno aktywne jest zaznaczane jako `@'. Monitorowanie początkowo jest
wyłączone.
msgminwait sek
Definiuje czas, przez który screen czeka z nową wiadomością gdy jedna
jest już wyświetlana. Wartością domyślną jest 1 sekunda.
msgwait sek
Definiuje czas, przez który komunikat jest wyświetlany jeśli screen nie
jest poruszany innymi aktywnościami. Domyślnie 5 sekund.
multiuser on|off
Przełącza między trybem wieloużytkownikowym i pojedynczym. Standardowo
screen działa w trybie pojedynczym. W trybie wieloużytkownikowym, do
umożliwiania użytkownikom dostania się do sesji używa się komend
`acladd', `aclchg', `aclgrp' i `acldel'.
nethack on|off
Zmienia rodzaj komunikatów o błędach, używanych przez screen. Jeśli
znasz grę "nethack", mogą ci się spodobać podobne jak w niej
komunikaty, które często trochę zaciemniają fakty, lecz są zabawniejsze
do czytania. Z drugiej strony, standardowe komunikaty też mogą być
często niejasne.
Opcja ta jest dostępna tylko jeśli screen został skompilowany ze
zdefiniowaną flagą NETHACK. Domyślne ustawienie jest wtedy określone
obecnością zmiennej środowiskowej $NETHACKOPTIONS.
next
Przełącz się na następne okno. Komenda ta może być używana do
cyklicznego przełączania się między listą okien.
nonblock [on|off]
Włącz lub wyłącz kontrole przepływu bieżącego interfejsu użytkownika
(wyświetlacza). Jest to używane do uchronienia powolnych wyświetlaczy
od spowolnienia przetwarzania danych wyjściowych przez okno. Komenda ta
może być przydatna gdy wiele wyświetlaczy pokazuje te samo okno. Opcja
jest normalnie wyłączona dla wszystkich wyświetlaczy.
number [n]
Zmień numer bieżącego okna. Jeśli numer n już jest używany przez inne
okno, okna wymieniają numery między sobą. Jeśli nie poda się argumentu,
pokazywany jest numer (i tytuł) okna.
obuflimit [limit]
Jeśli bufor wyjściowy zawiera więcej bajtów niż podany limit, to z
okien nie będą czytane dalsze dane. Domyślną wartością jest 256. Jeśli
masz szybki wyświetlacz (jak xterm), możesz ustawić to na większą
wartość. Jeśli nie poda się argumentów, wyświetlane jest bieżące
ustawienie.
only
Zabij wszystkie regiony poza bieżącym.
other
Przełącza na poprzednio wyświetlane okno. Jeśli okno to już nie
istnieje, other działa analogicznie do next.
partial on|off
Definiuje czy wyświetlacz powinien być odświeżany (jak dla redisplay)
po przełączaniu na bieżące okno. Komenda ta dotyczy tylko bieżącego
okna. Aby dotyczyła wszystkich okien, należy skorzystać z komendy
allpartial. Domyślnie jest to wyłączone. Wartość domyślna jest ustalona
na stałe, gdyż nie ma na razie komendy defpartial.
password [kodowane_haso]
Gdy przedstawisz w swoim pliku ".screenrc" zakodowane hasło, screen
będzie o nie pytał za każdym razem, gdy ktoś będzie próbował wznowić
odłączony proces. Jest to przydatne jeśli w sesji screen pracują
uprzywilejowane programy i chcesz chronić ją od prób podłączenia przez
innych użytkowników, podających się za ciebie (np. superużytkownik).
Jeśli nie ma podanego zakodowanego hasła, screen dwukrotnie prosi o
wstukanie hasła i umieszcza jego zakodowany odpowiednik w buforze
wklejania. Domyślną wartością jest `none', która wyłącza sprawdzanie
hasła.
paste [registers [dest_reg]]
Zapisz (konkatenowaną) zawartość podanych rejestrów na kolejkę stdin
bieżącego wejścia. Rejestr '.' jest traktowany jako bufor wklejania.
Jeśli nie poda się parametrów, użytkownik jest pytany o pojedynczy
rejestr. Bufor wklejania może być wypełniany komendami copy, history
oraz readbuf. Inne rejestry można wypełniać komendami register,
readreg i paste. Jeśli paste jest wywołany z drugim argumentem,
zawartość podanych rejestrów jest umieszczana w podanym rejestrze
docelowym, a nie w oknie. Jeśli jako drugi argument użyć '.',
rejestrem docelowym jest bufor wklejania wyświetlacza. Zauważ, że
"paste" używa różnych zasobów: Gdy tylko podany jest drugi argument,
nie jest wymagane okno bieżące. Gdy określenie źródła zawiera tylko
rejestry (nie bufor wklejania), to nie jest w ogóle wymagany bieżący
wyświetlacz (podwieszony terminal), gdyż rejestry są zasobami
globalnymi. Bufor wklejania jest osobny dla każdego użytkownika.
pastefont [on|off]
Powiedz screenowi, by do bufora wklejania załączał informację o foncie.
Domyślnie nie jest to robione. Komenda ta jest szczególnie przydatna
dla fontów wieloznakowych, jak kanji.
pow_break
Otwórz na nowo linię terminalową okna i wyślij warunek przerwania.
Zobacz `break'.
pow_detach
Odłączenie zasilania. Ogólnie to samo co detach, lecz dodatkowo wysyła
sygnał HANGUP do procesu rodzicielskiego screena. UWAGA: Spowoduje to
wylogowanie w wypadku gdy screen został uruchomiony z powłoki
zgłoszeniowej.
pow_detach_msg [komunikat]
Podany tu komunikat jest wydawany za każdym razem gdy dokonywane jest
`odłączenie zasilania'. Może być używane jako zamiennik komunikatu
wylogowywania, lub do resetowania szybkości linii, itp. Bez
parametrów, pokazywany jest obecny komunikat.
prev
Przełącz na okno o następnym niższym numerze. Komenda ta może być
używana do cyklicznego przełączania między listą okien.
printcmd [kmd]
Jeśli kmd nie jest pustym łańcuchem, screen nie będzie używał
właściwości "po/pf" terminala, jeśli wykryje sekwencję drukowania ansi
ESC [ 5 i, lecz będzie przerzucał potokowo wyjście do kmd. Powinno to
normalnie być komendą w rodzaju "lpr" lub "'cat > /tmp/scrprint'".
printcmd bez komendy wyświetla bieżące ustawienie. Sekwencja ansi ESC
\ kończy drukowanie i zamyka potok.
Uwaga: Ostrożnie z tą komendą! Jeśli inni użytkownicy mają dostęp
zapisu do twojego terminala, będą oni mogli odpalać komendy drukowania.
process [klucz]
Przerzuć zawartość podanego rejestru do screenowej kolejki wejściowej.
Po uruchomieniu bez parametrów, zostaniesz zapytany o nazwę rejestru.
Tekst jest przetwarzany tak, jakby był wpisywany z klawiatury
użytkownika. Komenda ta może być przydatna do wiązania wielu akcji pod
jeden klawisz.
quit
Zabij wszystkie okna i zakończ screen. Zauważ, że w terminalach
VT100-podobnych klawisze C-4 i C-\ są równoważne. Powoduje to, że
domyślne wiązania są niebezpieczne: Uważaj by nie wpisać C-a C-4
podczas wybierania okna numer 4. W celu usunięcia wiązania
klawiszowego, użyj zwykłej komendy bind (jak dla "bind '^\'").
readbuf
Odczytuje zawartość bieżącego pliku wymiany screena do bufora
wklejania. Zobacz też komendę "bufferfile".
readreg [register [nazwapliku]]
Robi dwie rzeczy, zależnie od liczby argumentów: w wypadku braku, lub
przy jednym argumencie, duplikuje bufor wklejania do podanego rejestru
lub rejestru, podanego po znaku zachęty. Przy dwóch argumentach,
odczytuje zawartość podanego pliku do rejestru. Jest to zachowanie
podobne do wczytywania przez "readbuf" plik wymiany screena do bufora
wklejania Następujący przykład wkleja systemowy plik z hasłami w okno
screena (przy użyciu rejestru p, gdzie pozostaje kopia):
C-a : readreg p /etc/passwd
C-a : paste p
redisplay
Wyświetl na nowo bieżące okno. Wymagane do uzyskania pełnego
rewyświetlenia w trybie częściowego odświeżania.
register klucz acuch
Zachowuje podany acuch w rejestrze klucz. Zobacz też komendę "paste".
remove
Usuń bieżący region. Jest to nieskuteczne (no-op) gdy istnieje tylko
jeden region.
removebuf
Usuwa plik wymiany screena, używany przez komendy "writebuf" i
"readbuf".
reset
Przestaw terminal wirtualny na jego ustawienia początkowe. Przydatne,
gdy pozostały na nim po jakiejś aplikacji dziwne ustawienia.
screen [-opts] [n] [kmd [arg]]
Zestaw nowe okno. Z każdą komendą można przekazać opcje kontroli
przepływu (-f, -fn i -fa), tytułu (a.k.a.) (-t), opcje zgłoszeniowe (-l
i -ln), opcję typu terminala (-T <term>), i flagę-wszystkich-
właściwości (-a) oraz opcję bufora przewijania (-h <num>). Opcja (-M)
włącza dla tego okna monitorowanie. Opcja (-L) włącza dla niego
raportowanie wyjścia. Jeśli podany jest dodatkowa liczba w zakresie
0..9, to nowo tworzonemu oknu przyznawany jest numer n (lub jeśli numer
ten jest już używany, przyznawany jest następny dostępny). Jeśli po
"screen" podana jest komenda, to jest ona uruchamiana w tworzonym
oknie; w przeciwnym wypadku, uruchamiana jest powłoka. Tak więc jeśli
twój ".screenrc" zawiera linie
# przykład dla .screenrc:
screen 1
screen -fn -t foobar -L 2 telnet foobar
to screen utworzy okno z powłoką (numer #1) i okno z połączeniem telnet
do maszyny foobar (w oknie #2, bez kontroli przepływu, pod tytułem
"foobar") i będzie zapisywać raporty ("screenlog.2") sesji telnetowej.
Zauważ, że w przeciwieństwie do poprzednich wersji screena, nie będzie
tworzone żadne dodatkowe okno domyślne jeśli w twoim ".screenrc"
znajdują się komendy "screen". Po zakończeniu inicjalizacji, screen
przełącza się na ostatnie okno podane w twoim pliku .screenrc lub,
jeśli nic nie podano, otwiera domyślne okno #0.
Screen ma wbudowane pewne właściwości "cu" i "telnet". Zobacz też
rozdział "RODZAJE OKIEN".
scrollback num
Ustawia rozmiar bufora przewijania dla bieżących okien na num wierszy.
Domyślną wartością jest 100. Zobacz też komendę "defscrollback", a do
oglądania bieżących ustawień, skorzystaj z "C-a i".
select [IDOkna]
Przełącz się na okno, określone przez IDOkna. Może to być przedrostek
tytułu okna (alfanumeryczna nazwa), lub numer okna. Parametr jest
opcjonalny i jeśli jest pominięty, zostaniesz zapytany o identyfikator.
Gdy zestawiane jest nowe okno, przyznawany jest mu pierwszy dostępny
numer. Tak więc, pierwsze okno można włączyć przez "select 0" (nie
może być naraz obecnych więcej niż 10 okien, chyba że screen został
skompilowany z większym ustawieniem MAXWIN).
sessionname [nazwa]
Zmień nazwę bieżącej sesji. Zauważ, że dla "screen -list" nazwa pojawia
się z przyklejonym id-procesu. Jeśli argument "nazwa" jest pominięty,
wyświetlana jest nazwa tej sesji. Uwaga: zmienne środowiskowe $STY
wciąż odzwierciedlają stare nazwy. Może to powodować zakłopotanie.
Domyślna wartość jest tworzona z tty i nazw hosta.
setenv [zmienna [acuch]]
Ustawia zmienną środowiskową zmienna na wartość acuch. Jeśli podana
jest tylko zmienna, użytkownik zostanie zapytany o jej wartość. Jeśli
nie zostaną podane żadne parametry, użytkownik zostanie zapytany tak o
zmienną, jak o jej wartość. Środowisko jest dziedziczone przez
wszystkie kolejno rozwidlane powłoki.
shell komenda
Ustaw komendę, używaną do tworzenia nowej powłoki. Przesłania to
wartość zmiennej środowiskowej $SHELL. Jest to przydatne jeśli chcesz
uruchomić rozszerzacza-tty, który chce wykonywać program podany w
$SHELL. Jeśli komenda rozpoczyna się znakiem '-', powłoka będzie
uruchomiona jako powłoka zgłoszeniowa.
shelltitle tytu
Ustaw tytuł dla wszystkich powłok, tworzonych podczas startu lub przez
komendę C-A C-c. Dla szczegółów o tym, czym jest tytuł, zobacz
dyskusję "TYTUŁY (nazywanie okien)".
silence [on|off|sek]
Przełącza monitorowanie ciszy okien. Gdy cisza jest włączona, a
monitorowane okno jest w tle, to po pewnym czasie nieaktywności (ciszy)
otrzymasz w linii statusu komunikat o ciszy. Domyślny czas oczekiwania
może być zmieniany komendą `silencewait', lub poprzez podanie liczby
sekund zamiast `on' lub `off'. Cisza jest początkowo wyłączona dla
wszystkich okien.
silencewait sek
Zdefiniuj czas, po którym ma się pojawiać komunikat ciszy. Domyślnie 30
sekund.
sleep num
Komenda ta powstrzymuje wykonywanie pliku .screenrc na num sekund.
Aktywność klawiaturowa przerywa pauzę. Może to być przydatne do
dawania użytkownikom szansy na przeczytanie komunikatów, wydawanych
przez "echo".
slowpaste msek
Zdefiniuj szybkość, z jaką komenda paste ("C-a ]") wkleja tekst do
okna. Jeśli parametr jest niezerowy, tekst jest wpisywany znak po
znaku. Dodatkowo, screen pauzuje przez msec milisekund po każdym
znaku, umożliwiając aplikacji przetworzenie wejścia. Używaj slowpaste
tylko jeśli twój system ma problemy kontroli przepływu podczas
wklejania wielkich fragmentów tekstu.
sorendition [atr [kolor]]
Zmień sposób, którego używa screen do podświetlania tekstu (w celu
zaznaczania i drukowania komunikatów). Atr jest liczbą szesnastkową i
określa atrybuty tekstu (inwersja, podkreślenie, ...). Kolor jest
dwucyfrową liczbą i zmienia kolor pierwszego planu/tła podświetlanego
tekstu. Aby znaki pojawiały się w odpowiedni sposób, wymagana jest
pewna wiedza o wewnętrznej reprezentacji znaków screena. Domyślną
wartością jest obecnie 10 99 (standout, domyślne kolory).
split
Podziel bieżący region na dwa nowe. Wszystkie regiony wyświetlacza
zmieniają rozmiar, aby zrobić miejsce na nowy. Puste okno jest
wyświetlane na nowym regionie.
startup_message on|off
Wybierz, czy chcesz oglądać informację o kopiowaniu podczas startu.
Domyślnie jest to włączone, jak pewnie zauważyłeś.
stuff acuch
Przerzuć acuch do bufora wejściowego bieżącego okna. Jest to podobne
do komendy "paste", lecz mniej ogólne. Nie możesz z pomocą tej komendy
wklejać dużych buforów. Jest ona najprzydatniejsza do wiązań
klawiaturowych. Zobacz też "bindkey".
su [nazwaużytkownika [hasło [hasło2]]
Podmień użytkownika wyświetlacza. Komenda pyta o wszystkie pominięte
parametry. Jeśli w parametrach podano hasła, muszą one być
niezakodowane. Pierwsze hasło jest dopasowywane do systemowej bazy
passwd, drugie do hasła screena, ustawionego komendami "acladd",
"password". "Su" może być przydatne dla administratora screena do
testowania wieloużytkownikowych konfiguracji. Gdy identyfikacja się
nie powiedzie, użytkownik ma dostęp do komend przeznaczonych dla
użytkownika nobody. Są to "detach", "license", "version", "help" oraz
"displays".
suspend
Zawieś screena. Okna są w tym stanie `odłączone'. Właściwość ta jest
zależna od powłoki, zdolnej do kontroli zadań.
term term
W środowisku każdego okna, które otworzył screen, zmienna środowiskowa
$TERM jest ustawiona domyślnie na "screen". Jeśli w lokalnym pliku
termcap nie ma żadnego opisu dla takiego terminala, możesz zmienić
$TERM na np. "vt100". Nie spowoduje to żadnej szkody, gdyż screen jest
zgodny z vt100/ansi. Używanie komendy "term" nie jest zalecane dla
celów niedomyślnych. Znaczy to, że możnaby podać ustawienia $TERM (np.
vt100) dla komendy "screen rlogin innamaszyna". Jednak zamiast tego
lepiej użyć "screen -T vt100 rlogin innamaszyna".
termcap term terminal-tweaks [window-tweaks]
terminfo term terminal-tweaks [window-tweaks]
termcapinfo term terminal-tweaks [window-tweaks]
Używanie tej komendy powoduje modyfikacje wpisów termcap terminala bez
potrzeby przechodzenia przez trudności związane z tworzeniem
dostosowanego wpisu termcap. Dodatkowo, możesz opcjonalnie dostosować
termcap generowany dla okien. Komendy te należy umieścić w jednym z
plików startowych screenrc, gdyż po uruchomieniu emulatora terminala
stają się one bezużyteczne.
Jeśli twój system działa w oparciu o bazę terminfo (zamiast termcap),
screen będzie rozumiał komendę `terminfo', która ma takie same efekty,
jak komenda `termcap'. Udostępniono dwie oddzielne komendy, gdyż
istnieją subtelne definicje syntaktyczne, np. to gdzie wymagana jest
interpolacja parametrów (z użyciem `%'). Zauważ, że z komendą
`terminfo' używa się nazw właściwości z termcap.
W wielu wypadkach, gdy argumenty są prawidłowe zarówno dla składni
terminfo jak i termcap, możesz użyć komendy `termcapinfo', która jest
skrótem dla pary komend `termcap' i `terminfo', o identycznych
argumentach.
Pierwszy argument określa, do którego terminala (terminali) odnosi się
definicja. Możesz podać wiele nazw terminali, rozdzielając je znakami
`|'. `*' odpowiada wszystkim terminalom, a `vt*' wszystkim terminalom,
rozpoczynającym się od "ft".
Każdy argument tweak składa się z jednej lub więcej definicji termcap
(rozdzielonych dwukropkami), które mają być wstawione na początek
odpowiedniego wpisu termcap, rozszerzając go lub przesłaniając
istniejące wartości. Pierwszy tweak modyfikuje termcap twojego
terminala i zawiera definicje, z których twój terminal korzysta do
wykonywania pewnych funkcji. Jeśli podasz tu łańcuch pusty, zawartość
pozostanie niezmieniona (np. ''). Drugi (opcjonalny) tweak modyfikuje
wszystkie termcapy okien i powinien zawierać definicje zrozumiałe dla
screena (zobacz sekcję "TERMINAL WIRTUALNY".
Przykłady:
termcap xterm* LP:hs@
Mówi screenowi, że wszystkie terminale rozpoczynające się od `xterm'
mają automatyczne marginesy, które umożliwiają odświeżanie ostatniej
pozycji ekranu (LP), lecz nie posiadają prawdziwej linii statusu (brak
'hs' - doklejanie `@' wyłącza wpisy). Zauważ, że zakładamy `LP' dla
wszystkich nazw terminala, które rozpoczynają się od "vt", lecz tylko
jeśli nie podasz komendy termcap dla takiego terminala.
termcap vt* LP
termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l
Podaje właściwość `LP' dla wszystkich terminali rozpoczynających się od
`vt'. Druga linia dodatkowo dodaje sekwencje specjalne do przełączania
do (Z0) i z (Z1) trybu 132 znaków na linię dla vt102 i vt220. (W celu
używania komend zmieniających szerokość, musisz w swoim termcap podać
Z0 i Z1.)
termcap vt100 "" l0=PF1:l1=PF2:l2=PF3:l3=PF4
Pozostawia to twój termcap vt100 w spokoju i dodaje wpis do termcapu
każdego okna.
termcap h19|z19 am@:im=\E@:ei=\EO dc=\E[P
Bierze termcap h10 i z19 i wyłącza automarginesy (am@) oraz włącza
właściwości trybu wstawiania (im--insert mode) i end-insert (ei) (znak
`@' w łańcuchu `im' znajduje się po `=', więc jest częścią łańcucha).
Posiadanie w termcapie terminala definicji `im' i `ei', screen
automatycznie zareklamuje właściwość character-insert w termcapie
każdego okna. Każde okno dostanie też właściwość delete-character
(dc), która będzie przez screen tłumaczona na odświeżenie linii (line-
update) terminala (udajemy, że nie obsługuje on kasowania znaków).
Jeśli chciałbyś w pełni określić wpisy termcap każdego okna, powinieneś
zamiast tego wszystkiego przed uruchomieniem screena ustawić zmienną
$SCREENCAP. Zobacz też dyskusję w sekcji "TERMINAL WIRTUALNY" i
podręcznik systemowy termcap.
time
Używa linii komunikatów do wyświetlania czasu dnia, nazwy hosta i
obciążenia w 1, 5 i 15 minutach (jeśli informacja ta jest dostępna w
twoim systemie). Dla informacji specyficznych oknu, użyj "info".
title [aliasokna]
Ustaw nazwę bieżącego okna na aliasokna. Jeśli nie podano nazwy, screen
o nią zapyta. Komenda ta była znana dawniej jako `aka'.
unsetenv zmienna
Kasuje zmienną środowiskową.
vbell [on|off]
Ustawia wizualny dzwonek dla tego okna. Pominięcie parametru przełącza
ustawienie. Jeśli vbell jest włączony, lecz twój terminal nie obsługuje
wizualnego dzwonka, po otrzymaniu znaku dzwonka (^G) w linii statusu
jest wyświetlany `komunikat-vbell'. Obsługa vbell terminala jest
definiowana zmienną termcapa `vb' (terminfo: 'flash').
Domyślnie, vbell jest wyłączony i używany jest dzwonek audio. Zobacz
też `bell_msg'.
vbell_msg [komunikat]
Ustawia komunikat wizualnego dzwonka. Jeśli okno otrzyma znak dzwonka
(^G), a terminal nie obsługuje wizualnego dzwonka, w linii statusu
drukowany jest komunikat. Domyślnym komunikatem jest "Wuff, Wuff!!".
Bez parametrów, pokazywany jest obecny komunikat.
vbellwait sek
Zdefiniuj w sekundach opóźnienie, po każdym wyświetleniu komunikatu o
dzwonku. Domyślnie jest to 1 sekunda.
verbose [on|off]
Jeśli tryb verbose (gadatliwy) jest włączony, przy każdym tworzeniu
okna istnieje echo nazwy komendy. Domyślnie wyłączone. Bez parametrów,
pokazuje obecne ustawienie.
version
Wydrukuj w linii statusu bieżącą wersję i datę kompilacji.
wall komunikat
Zapisz na wszystkie wyświetlacze komunikat. Komunikat pojawi się w
terminalowej linii statusu.
width [num]
Przełączaj szerokość okna między 80 a 132 kolumnami, lub ustaw na num
kolumn. Wymaga to odpowiedniego terminala i wpisów termcap "Z0" oraz
"Z1". Zobacz dla dalszych informacji komendę "termcap".
windows
Używa linii komunikatów do wyświetlania listy wszystkich okien. Każde
okno jest wymieniane według numeru wraz z nazwą procesu, który został w
nim uruchomiony (lub z tytułem); okno bieżące jest zaznaczane przez
`*'; okno poprzednie jest zaznaczane przez `-'; wszystkie okna, które
są zalogowane, są zaznaczane jako `$'; okno w tle, które otrzymało
dzwonek jest zaznaczane jako `!'; okno w tle, które jest monitorowane i
zaszła w nim aktywność jest zaznaczane jako `@'; okno, które ma
włączone raportowanie wyjścia jest zaznaczone jako `(L)'; okna,
zajmowane przez innych użytkowników są zaznaczane jako `&'; okna w
stanie zombie są zaznaczane jako `Z'. Jeśli lista jest zbyt długa, by
zmieścić się w terminalowej linii statusu, wyświetlana jest tylko część
wokół bieżącego okna.
wrap [on|off]
Ustawia zawijanie linii w oknie. Gdy jest to włączone, znak wstawiany
na ostatniej kolumnie wiersza będzie zawijał na początek następnego
wiersza. W myśl dodanej właściwości, backspace (^H) również zawija od
lewego marginesu do poprzedniej linii. Domyślnie jest to włączone.
writebuf
Zapisuje zawartość bufora wklejania do publicznie dostępnego pliku
wymiany screena. Jest to prymitywne narzędzie komunikacji między
użytkownikami screena na danym hoście. Nazwa pliku może być ustawiana z
pomocą komendy bufferfile i domyślnie jest nią "/tmp/screen-exchange".
writelock [on|off|auto]
Jako dodatek do list kontroli dostępu, nie wszyscy użytkownicy muszą
być w stanie pisać do tego samego okna naraz. Domyślnie, blokada zapisu
jest w trybie `auto' i zapewnia wyłączne prawo wejścia dla użytkownika,
który pierwszy się na dane okno przełączył. Gdy opuści on okno,
automatycznie blokadę mogą uzyskać inni użytkownicy. Blokadę zapisu
bieżącego okna można wyłączyć komendą "writelock off". Jeśli użytkownik
wykona komendę "writelock on", to będzie on miał wyłączne prawa zapisu
podczas przełączania się na inne okna.
xoff
xon
Wstawia na kolejkę stdin bieżącego okna znak CTRL-s/CTRL-q.
zombie [klawisze]
defzombie [klawisze]
Domyślnie okna screena są usuwane z listy okien gdy tylko ich procesy
(np. powłoki) zakończą działanie. Gdy do komendy zombie podać łańcuch
dwóch klawiszy, `martwe' okna pozostają na liście. Do usunięcia takiego
okna można użyć komendy kill. Naciśnięcie w martwym oknie pierwszego
klawisza ma ten sam efekt. Naciśnięcie drugiego klawisza powoduje, że
screen próbuje wskrzesić okno. Proces, uruchomiony początkowo w oknie
zostanie ponownie odpalony. Wywołanie zombie bez parametrów wyczyści
ustawienie zombie, w wyniku czego okna znikną po zakończeniu ich
procesu.
Gdy ustawienie zombie jest obsługiwane globalnie dla wszystkich okien,
komenda ta powinna być nazywana defzombie. Dopóki potrzebujemy tego
jako ustawienia dla poszczególnego okna, komendy zombie i defzombie są
równoważne.
LINIA KOMUNIKATÓW
Dodatkowe komunikaty i diagnostyki są wyświetlane w linii komunikatw.
Zwykle linia ta znajduje się na dole ekranu, jednak można to
przedefiniować na górę podczas kompilacji. Jeśli twój terminal ma w
termcapie zdefiniowaną linię statusu, screen skorzysta właśnie z niej.
W przeciwnym wypadku, linia bieżącego ekranu będzie tymczasowo
nadpisywana, a wyjście będzie chwilowo przerywane. Linia komunikatów
jest automatycznie usuwana po paru sekundach przerwy. Może być też
usuwana wcześniej poprzez rozpoczęcie naciskania klawiszy.
Urządzenie linii komunikatów może być używane przez aplikacje,
pracujące w bieżącym oknie. Narzędziem w tym celu jest sekwencja
sterująca ANSI, Privacy message. Na przykład, z powłoki możesz wpisać
coś takiego:
echo '<esc>^Hello world from window '$WINDOW'<esc>\\'
Gdzie '<esc>' to escape, '^' to literalna strzałka w górę, a '\\'
zmienia się w pojedynczy lewy ukośnik.
TYPY OKIEN
Screen daje trzy rodzaje okien. Nowe okna można utworzyć z pomocą
komendy screen (zobacz też opis w rozdziale "DOSTOSOWYWANIE"). Pierwszy
parametr komendy screen określa typ tworzonego okna. Inne typy okien są
szczególnymi przypadkami typu normalnego. Zostały one dodane, aby
umożliwić efektywne wykorzystanie screena jako multiplekser (powielacz)
konsolowy ze 100 lub więcej oknami.
o Normalne okno zawiera powłokę, lub dowolną inną komendę systemową,
jaką można uruchomić z powłoki (np. slogin, itd...)
o Jeśli jako pierwszy parametr podana jest nazwa tty (urządzenie
znakowe, np. "/dev/ttya"), to okno jest podłączane bezpośrednio do
tego urządzenia. Typ tego okna jest podobny do "screen cu -l
/dev/ttya". Dla używania węzła urządzenia wymagane są prawa zapisu
i odczytu. Dodatkowo, screen próbuje użyć otwarcia na wyłączność,
aby zaznaczyć zajęcie linii połączenia. Dozwolony jest dodatkowy
parametr, składający się z rozdzielonej przecinkami listy flag w
notacji używanej przez stty(1):
<szybkość>
Zwykle 300, 1200, 9600 lub 19200. Dotyczy to tak transmisji,
jak i odbierania.
cs8 or cs7
Określa transmisję ośmiu (lub siedmiu) bitów na bajt.
ixon or -ixon
Włącza (lub wyłącza) programową kontrolę przepływu (CTRL-
S/CTRL-Q) nadawania.
ixoff or -ixon
Włącza (lub wyłącza) programową kontrolę przepływu
odbierania.
istrip or -istrip
Czyści (lub zatrzymuje) ósmy bit w każdym odebranym bajcie.
Możesz podać tyle opcji, ile potrzeba. Niepodane opcje powodują, że
sterownik terminala pobiera wartości parametrów z połączenia.
Wartości te są zależne od systemu i mogą być wartościami domyślnymi,
lub wartościami zachowanymi z poprzedniego połączenia.
Dla okien tty, komenda info pokazuje w linii statusu część linii
kontroli modemu. Mogą one zawierać `RTS', `CTS', 'DTR', `DSR', `CD'
i więcej. Zależy to od dostępnych ioctl() oraz nagłówków systemu i
fizycznych właściwości układu szeregowego. Sygnały, które są w
stanie niskim (nieaktywne) mają nazwy poprzedzone znakiem
wykrzyknika. W przeciwnym wypadku są one w stanie wysokim. Sygnały
nieobsługiwane przez sprzęt, lecz znane interfejsowi ioctl() są
zwykle wyświetlane jako niskie.
Gdy bit statusu CLOCAL jest ustawiony, cały zestaw sygnałów
modemowych jest umieszczany w nawiasach klamrowych ({ i }). Gdy
ustawiony jest bit CRTSCTS lub TIOCSOFTCAR, sygnały `CTS' lub `CD'
są pokazywane w nawiasach.
Dla okien tty, komenda break powoduje obniżenie sygnału linii
transmisji danych (TxD) na podany okres czasu. Ma to być
interpretowane jako sygnał przerwania po drugiej stronie. Podczas
wykonywania tej komendy nie przesyłane są dane i nie są zmieniane
linie kontroli modemu.
o Jeśli pierwszym parametrem jest "//telnet", to drugim powinna być
nazwa hosta, a opcjonalny trzeci parametr może podawać numer portu
TCP (domyślnie dziesiętne 23). Screen podłączy się do serwera na
zdalnym hoście i użyje protokołu telnet do komunikacji.
Dla okien telnet, komenda info wyświetla szczegóły o połączeniu w
nawiasach kwadratowych ([ i ]) na końcu linii statusu.
b BINARY. Połączenie jest w trybie binarnym.
e ECHO. Wyłączone lokalne echo.
c SGA. Połączenie jest w `trybie znakowym' (domyślnie: `tryb
wierszowy').
t TTYPE. Zdalny host zażądał typu terminala. Screen wysyła
nazwę "screen", chyba że został inaczej pouczony (zobacz też
komendę `term').
w NAWS. Zdalny host jest powiadamiany o zmianach rozmiaru okna.
f LFLOW. Zdalny host będzie przesyłał informacje kontroli
przepływu. (Obecnie ignorowane.)
Dodatkowymi flagami, przeznaczonymi do debuggowania są x,t i n
(XDISPLOC, TSPEED i NEWENV).
Dla okien telnet, komenda break wysyła kod telnet IAC BREAK
(dziesiętne 243) do zdalnego hosta.
Ten rodzaj okien jest dostępny tylko jeśli screen został
skompilowany ze zdefiniowaną opcją BUILTIN_TELNET.
ŁAŃCUCHOWE SEWKENCJE SPECJALNE
Screen daje specjalny mechanizm wstawiania do komunikatów lub nazw
pliku informacji w rodzaju bieżącego czasu. Znakiem specjalnym jest
'%', z jednym wyjątkiem: w obrębie twardego statusu okna używane jest
'^%' ('^E').
Oto pełna lista obsługiwanych sekwencji:
% znak procentu
a 'am' albo 'pm'
A 'AM' albo 'PM'
c bieżący czas, GG:MM w postaci 24h
C bieżący czas, GG:MM w postaci 12h
d numer dnia
D nazwa dnia tygodnia
h twardy status okna
l bieżące obciążenie systemu
m numer miesiąca
M nazwa miesiąca
n numer okna
s sekundy
t tytuł okna
u wszyscy inni użytkownicy tego okna
w wszystkie numery okien i nazwy
W wszystkie numery okien i nazwy poza bieżącą
y ostatnie dwie cyfry roku
Y pełny rok
? część do następnego '%?' jest wyświetlana tylko jeśli sekwencja
rozwija się do niezerowego łańcucha
: część else '%?'
Sekwencje 'c' i 'C' mogą być kwalifikowane przez '0', powodując, że
screen użyje zera zamiast spacji jako znaku wypełnienia. Sekwencja 'n'
rozumie kwalifikator długości (np. '%3n').
KONTROLA PRZEPŁYWU
Każde okno ma ustawienie kontroli przepływu, które określa jak
traktować znaki XON i XOFF (oraz prawdopodobnie znak przerwania
(interrupt)). Gdy kontrola jest wyłączona, znaki te są ignorowane, co
umożliwia użytkownikom przesyłanie ich w prosty sposób do programów
(przydatne np. dla edytora emacs). Minusem jest to, że trzeba będzie
dłużej czekać aż wyjście z "normalnego" programu zapauzuje w odpowiedzi
na XOFF. Przy włączonej kontroli przepływu, znaki XON i XOFF są
używane do natychmiastowego przerywania wyjścia z bieżącego okna. Znaki
te można wciąż przesyłać do bieżącego programu, lecz musisz używać
odpowiednich dwuznakowych komend screena (zwykle "C-a q" (xon) oraz "C-
a s" (xoff)). Komendy xon/xoff są też przydatne do wpisywania C-s i C-
q obok terminala, przechwytującego te znaki.
Każde okno ma początkową wartość kontroli przepływu ustawianą albo
opcją -f, albo komendą "defflow" .screenrc. Domyślnie, okna są
ustawiane na automatyczne przełączanie przepływu. Może to być potem
przełączane między trzema stanami--'włączony ustalony' (fixed on),
'wyłączony ustalony' (fixed off) i 'automatyczny' (automatic)--służy do
tego komenda "flow", podwiązana do "C-a f".
Tryb automatycznego przełączania przepływu zajmuje się kontrolą
przepływu przy użyciu trybu TIOCPKT (podobnie jak "rlogin"). Jeśli
sterownik tty nie obsługuje TIOCPKT, screen próbuje znaleźć prawidłowy
tryb w oparciu o bieżące ustawienie keypadu aplikacji - gdy jest
włączony, kontrola przepływu jest wyłączona i odwrotnie. Oczywiście, w
wypadku zajścia potrzeby, wciąż można manipulować kontrolą ręcznie.
Jeśli pracujesz z włączoną kontrolą przepływu i zauważysz, że
naciskanie klawisza przerwania (zwykle C-c) nie przerywa wyświetlania
aż do następnych 6-8 linii, spróbuj uruchomić screena z opcją
"interrupt" (dodaj flagę "interrupt" do komendy "flow" w .screenrc, lub
użyj opcji -i linii komend). Powoduje to, że wyjście, które screen
zebrał z przerwanego programu jest wypróżniane. Wadą tego jest to, że
pamięć terminala zawiera niewypróżnioną wersję wyjścia, co w rzadkich
przypadkach może powodować pewne niedokładności wyjścia. Na przykład,
jeśli przełączasz ekrany i powrócisz, lub odświeżysz ekran z pomocą "C-
a l", to zobaczysz wersję wyjścia, która pojawiłaby się bez włączonego
"interrupt". Poza tym, być może podczas pracy z programem, który
oczekuje wpisywania jako wejście znaku przerwania (interrupt), będzie
trzeba wyłączyć kontrolę przepływu (lub użyć trybu automatycznego),
ponieważ jest możliwe przypadkowe przerwanie wyjścia wirtualnego
terminala na twój terminal fizyczny. Jeśli zajdzie takie zdarzenie,
zwykłe odświeżenie ekranu "C-a l" powinno go odtworzyć.
TYTUŁY (nazywanie okien)
Nazwę każdego okna w wyświetlaczu (widzianą w komendzie "windows" (C-a
w)) można zmienić poprzez ustawianie jej jedną z komend title.
Normalnie, wyświetlaną nazwą jest nazwa polecenia programu, utworzonego
w oknie. Czasem jednak przydatne jest rozróżnić różne programy o tej
samej nazwie, lub zmieniać nazwę w locie, aby odzwierciedlać bieżący
stan okna.
Domyślna nazwa okien powłokowych może być ustawiana komendą
"shelltitle" pliku .screenrc, podczas gdy inne okna są tworzone
komendą "screen" i mogą mięć ustawianą nazwę poprzez opcję -t.
Interaktywnie, istnieje sekwencja specjalna łańcuchu tytułowego
(<esc>knazwa<esc>\) oraz komenda "title" (C-a A). Pierwsze może być
wysyłane przez aplikację w celu kontrolowania nazwy okna, a drugie
zapyta o nazwę po wciśnięciu. Można też przywiązać nazwy predefiniowane
do klawiszy z komendą "title" i ustawiać tak wszystko w sposób zgrabny
i bez zapytywania.
Screen ma pewne mechanizmy specyficznej dla powłok heurystyki,
włączanej przez ustawienie nazwy okna na "szukaj|nazwa" i zaaranżowanie
zerowej sekwencji specjalnej tytułu jako części znaku zachęty. Część
szukaj określa szukany łańcuch końca-znaku-zachęty, podczas gdy część
nazwa określa domyślną nazwę powłoki dla okna. Jeśli nazwa kończy się
dwukropkiem, screen spróbuje dodać do końca nazwy powłoki nazwę
komendy, uruchomionej w oknie (np. "nazwa:kmd"). W przeciwnym wypadku,
nazwa bieżącej komendy poprzedza podczas działania nazwę powłoki.
Oto jak to działa: musisz zmodyfikować zachętę powłoki tak, by
emitowała zerową sekwencję specjalną tytułu (<esc>k</esc>\). Ostatnia
część znaku zachęty musi być identyczna z łańcuchem, podanym w części
szukaj tytułu. Gdy jest to ustawione, screen będzie używał sekwencji
specjalnej tytułu do czyszczenia poprzedniej nazwy komendy i
przygotowywał się na następną komendę. Potem, po odebraniu z powłoki
nowej linii, nastąpi szukanie końca znaku zachęty. Po jego znalezieniu,
pobrane zostanie pierwsze słowo, znajdujące się za nim i zostanie użyte
jako nazwa komendy. Jeśli nazwa komendy rozpoczyna się od '!', '%', lub
'^', to screen użyje pierwszego słowa następnej linii, preferując je
nad właśnie znalezioną nazwę. Pomaga to użytkownikom csh w uzyskiwaniu
lepszych nazw komend przy używaniu kontroli zadań lub historii.
Oto kilka przykładów .screenrc:
screen -t top 2 nice top
Dodanie tej linii do .screenrc uruchomi znicowaną wersję komendy "top"
w oknie 2 o nazwie "top" (a nie "nice").
shelltitle '> |csh'
screen 1
Komendy te uruchamiają powłokę o podanym tytule powłokowym. Tytuł jest
podany jako auto-tytuł, który oczekuje, że znak zachęty i wpisana
komenda będą wyglądać podobnie do następującego:
/usr/joe/src/dir> trn
(za znakiem '> ' następuje szukanie nazwy komendy). Status okna pokaże
podczas działania komendy wartość "trn", a po jej zakończeniu powróci
do "csh".
bind R screen -t '% |root:' su
To polecenie wiąże sekwencję klawiszową "C-a R" do komendy "su" i
przekazuje jej auto-tytuł "root:". Aby ten tytuł zadziałał, ekran
powinien wyglądać następująco:
% !em
emacs file.c
Użytkownik wpisał tu komendę "!em" historii csh, która uruchomiła
poprzednio wpisaną komendę "emacs". Status okna pokaże "root:emacs"
podczas wykonywania komendy, a po zakończeniu po prostu "root:".
bind o title
bind E title ""
bind u title (unknown)
Pierwsze wiązanie nie ma żadnych argumentów, więc zapyta cię o tytuł
(C-a o). Drugie wiązanie wyczyści bieżące ustawienie auto-tytułu (C-a
E). Trzecie wiązanie ustawi tytuł bieżącego okna na "(unknown)" (C-a
u).
Ważną rzeczą do pamiętania przy dodawaniu zerowej sekwencji specjalnej
tytułu do znaku zachęty jest to, że niektóre powłoki (np. csh) zliczają
wszystkie niesterujące znaki jako długość znaku zachęty. Jeśli znaki
niewidzialne nie są wielokrotnością 8, to backspace po tabulacji
spowoduje nieprawidłowe wyświetlanie. Sposobem ominięcia tego jest
użycie następującego znaku zachęty:
set prompt='^[[0000m^[k^[\% '
Sekwencja specjalna "<esc>[0000m" nie tylko normalizuje atrybuty
znakowe, lecz dodatkowo wszystkie zera zaokrąglają długość znaków
niewidzialnych do 8. Użytkownicy basha prawdopodobnie będą chcieli
wyświetlać sekwencję specjalną przy użyciu PROMPT_COMMAND:
PROMPT_COMMAND='echo -n -e "\033k\033\134"'
(Do wysyłania `\' używałem "134" z uwagi na błąd w bash 1.04).
TERMINAL WIRTUALNY
Każde okno w sesji screen emuluje terminal vt100 z dodanymi kilkoma
funkcjami. Emulator vt100 jest wkodowany na sztywno; nie ma emulacji
innych terminali.
Zazwyczaj screen usiłuje emulować tak dużo ze standardu vt100/ansi ile
tylko możliwe. Jeśli jednak twój terminal nie ma pewnych właściwości,
emulacja może nie być kompletna. W tych wypadkach, screen musi
powiedzieć aplikacją, że niektórych właściwości nie ma. Nie jest to
problem dla maszyn używających termcapa, gdyż screen może używać
zmiennej $TERMCAP do dostosowywania standardowego termcapu screena.
Jeśli jednak wykonujesz rlogin na inną maszynę, lub twoja maszyna
obsługuje tylko terminfo, metoda ta nie zadziała. Z tego powodu, screen
daje pewien sposób na zajęcie się tymi przypadkami. Oto jak to działa:
Gdy screen próbuje znaleźć dla siebie nazwę terminala, najpierw szuka
wpisu "screen.<term>", gdzie <term> jest zawartością twojej zmiennej
$TERM. Jeśli wpis taki nie istnieje, próbowany jest "screen" (lub
"screen-w" jeśli terminal jest szeroki (132 kolumn lub więcej)). Jeśli
nawet ten wpis nie został znaleziony, jako substytut używany jest
"vt100".
Pomysłem jest to, że jeśli masz terminal, który nie obsługuje ważnej
właściwości (np. kasowanie znaku, lub czyszczenie do EOS), to możesz
zbudować dla screena nowy wpis termcap/terminfo (o nazwie
"screen.<dumbterm>"), w którym właściwość ta jest wyłączona. Jeśli ten
wpis jest zainstalowany na twoich maszynach, to możesz wykonywać rlogin
i wciąż zachowywać poprawny wpis termcap/terminfo. Nazwa terminala
jest wstawiana do zmiennej $TERM wszystkich nowych okien. Dodatkowo
też, screen ustawia zmienną $TERMCAP, aby odzwierciedlała właściwości
emulowanego wirtualnego terminala. Zauważ jednak, że na maszynach z
bazami terminfo, zmienna ta nie ma efektu. Ponadto, zmienna $WINDOW
jest ustawiana na numer okna każdego okna.
Rzeczywisty zestaw właściwości, obsługiwanych przez terminal wirtualny
zależy od właściwości obsługiwanych przez terminal fizyczny. Jeśli na
przykład terminal fizyczny nie obsługuje trybu podkreślania, screen nie
będzie wstawiał właściwości `us' i `ue' do $TERMCAP. Jednak do samego
uruchomienia screena potrzeba minimalnego zestawu właściwości; są to
przewijanie, czyszczenie ekranu i bezpośrednie adresowanie kursora
(dodatkowo, screen nie działa na terminalach hardcopy i na terminalach,
które nadstukują).
Wartość $TERMCAP można też dostosowywać, korzystając z komendy
.screenrc "termcap", lub definiując przed startem zmienną środowiskową
$SCREENCAP. Gdy to drugie jest zdefiniowane, jego zawartość będzie
dosłownie kopiowana do zmiennej $TERMCAP każdego okna. Może to być albo
pełna definicja terminala, albo plik, w którym zdefiniowany jest
terminal "screen" (lub/i "screen-w").
Zauważ, że screen honoruje komendę "terminfo" .screenrc, jeśli system
używa bazy terminfo.
Gdy we wpisie termcap obecna jest właściwość logiczna `G0', to
terminal, z którego uruchomiono screena obsługuje wiele zestawów
znaków. Umożliwia to aplikacji np. używanie grafiki vt100 lub
narodowych zestawów znaków. Obsługiwane są następujące komendy z ISO
2022: lock shift G0 (SI), lock shift G1 (SO), lock shift G2, lock shift
G3, single shift G2, oraz single shift G3. Gdy tworzony (lub
resetowany) jest terminal wirtualny, zestaw ASCII jest oznaczany jako
G0 do G3. Gdy obecna jest właściwość `G0', screen analizuje (jeśli są
obecne) właściwości `S0', `E0' i `C0'. `S0' jest sekwencją, której
terminal używa do włączania zestawu znaków graficznych zamiast SI. `E0'
jest odpowiadającym zamiennikiem dla SO. `C0' daje łańcuch translacji
znaku na znak, używany w trybie semigrafiki. Łańcuch ten jest
zbudowany podobnie do właściwości `acsc' terminfo.
Gdy we wpisie terminala obecne są właściwości `po' i `pf', aplikacje
pracujące pod screenem mogą wysyłać wyjście na port drukarki terminala.
Umożliwia to użytkownikowi posiadanie w jednym oknie aplikacji,
wysyłającej wyjście do drukarki, podłączonej do terminala, podczas gdy
inne okna są wciąż aktywne (port drukarki jest włączany i wyłączany dla
każdego fragmentu wyjścia). Jako efekt uboczny, programy pracujące w
różnych oknach mogą równocześnie wysyłać wyjście na drukarkę . Dane
wysyłane do drukarki nie pojawiają się w oknie. Komenda info wyświetla
w czasie aktywności drukarkowej linię rozpoczynającą się od `PRIN'.
Screen Obsługuje linię twardego statusu każdego okna. Jeśli okno
zostanie wybrane, twardy status wyświetlacza jest odświeżany, aby
odpowiadał statusowi tego okna. Jeśli wyświetlacz nie posiada twardego
statusu, to linia będzie wyświetlana jako standardowy komunikat
screena. Linię twardego statusu można zmienić komendą ANSI Application
Program Command (APC): "ESC_<łańcuch>ESC\". Jako ukłon w stronę
użytkowników xterma, przyjmowana jest też sekwencja
"ESC]0..2;<string>^G".
Niektóre właściwości są wstawiane do zmiennej $TERMCAP terminala
wirtualnego tylko jeśli można je efektywnie zaimplementować na
terminalu fizycznym. Na przykład `dl' jest wstawiane tylko jeśli
terminal obsługuje albo kasowanie linii, albo przewijanie regionów.
Zauważ, że może to spowodować zakłopotanie gdy sesja zostanie wznowiona
na innym terminalu, gdyż wartość $TERMCAP nie może być zmieniona przez
proces rodzicielski.
Poniżej znajduje się lista sekwencji sterujących, rozpoznawanych przez
screen. "(V)" i "(A)" określają VT100-specyficzne oraz ANSI- lub ISO-
specyficzne funkcje.
ESC E Następna linia.
ESC D Indeks
ESC M Odwróć indeks
ESC H Ustaw tabulację poziomą
ESC Z Wyślij łańcuch identyfikacji vt100
ESC 7 (V) Zachowaj kursor i atrybuty
ESC 8 (V) Odtwórz kursor i atrybuty
ESC [s (A) Zachowaj kursor i atrybuty
ESC [u (A) Odtwórz kursor i atrybuty
ESC c Resetuj do stanu początkowego
ESC g Dzwonek wizualny
ESC Pn p Widzialność kursora (97801)
Pn = 6 Niewidzialny
7 Widzialny
ESC = (V) Tryb keypad aplikacji
ESC > (V) Tryb numerycznego keypadu
ESC # 8 (V) Wypełnij ekran E.
ESC \ (A) Terminator łańcucha
ESC ^ (A) Łańcuch prywatnego komunikatu (linia
komunikatów)
ESC ! Łańcuch globalnego komunikatu (linia
komunikatów)
ESC k Łańcuch definicji A.k.a.
ESC P (A) Łańcuch kontroli urządzenia. Wysyła
bezpośrednio do hostowego terminala łańcuch
bez interpretacji.
ESC _ (A) Komenda programu aplikacji (twardy status)
ESC ] (A) Komenda systemu operacyjnego (twardy status,
hack tytułu xterm)
Control-N (A) Zablokuj Shift G1 (SO)
Control-O (A) Zablokuj Shift G0 (SI)
ESC n (A) Zablokuj Shift G2
ESC o (A) Zablokuj Shift G3
ESC N (A) Pojedynczy Shift G2
ESC O (A) Pojedynczy Shift G3
ESC ( Pcs (A) Desygnuj zestaw znaków jako G0
ESC ) Pcs (A) Desygnuj zestaw znaków jako G1
ESC * Pcs (A) Desygnuj zestaw znaków jako G2
ESC + Pcs (A) Desygnuj zestaw znaków jako G3
ESC [ Pn ; Pn H Bezpośrednie adresowanie kursora
ESC [ Pn ; Pn f jak wyżej
ESC [ Pn J Kasuj w wyświetlaczu
Pn = None or 0 Od kursora do końca ekranu
1 Od początku ekranu do kursora
2 Cały ekran
ESC [ Pn K Kasuj w linii
Pn = None or 0 Od kursora do końca linii
1 Od początku linii do kursora
2 Całą linię
ESC [ Pn A Kursor w górę
ESC [ Pn B Kursor w dół
ESC [ Pn C Kursor w prawo
ESC [ Pn D Kursor w lewo
ESC [ Pn E Kursor na następną linię
ESC [ Pn F Kursor na poprzednią linię
ESC [ Pn G Pozioma pozycja kursora
ESC [ Pn ` jak wyżej
ESC [ Pn d Pionowa pozycja kursora
ESC [ Ps ;...; Ps m Wybierz interpretację grafiki
Ps = None or 0 Domyślna interpretacja
1 Pogrubienie
2 (A) Mdły
3 (A) Tryb standout (ANSI: kursywa)
4 Podkreślenie
5 Migotanie
7 Negatyw
22 (A) Normalna intensywność
23 (A) Wyłączenie trybu standout (ANSI: wyłączenie
kursywy)
24 (A) Nie podkreślone
25 (A) Nie migoczące
27 (A) Obraz pozytywowy
30 (A) Pierwszy plan czarny
31 (A) Pierwszy plan czerwony
32 (A) Pierwszy plan zielony
33 (A) Pierwszy plan żółty
34 (A) Pierwszy plan niebieski
35 (A) Pierwszy plan fioletowy
36 (A) Pierwszy plan cyjankowy
37 (A) Pierwszy plan biały
39 (A) Pierwszy plan domyślny
40 (A) Tło czarne
...
49 (A) Tło domyślne
ESC [ Pn g Czyszczenie tab
Pn = None or 0 Czyszczenie tab w pozycji bieżącej
3 Czyszczenie wszystkich tabów
ESC [ Pn ; Pn r (V) Ustaw region przewijania
ESC [ Pn I (A) Tabulacja pozioma
ESC [ Pn Z (A) Tabulacja wsteczna
ESC [ Pn L (A) Wstaw linię
ESC [ Pn M (A) Skasuj linię
ESC [ Pn @ (A) Wstaw znak
ESC [ Pn P (A) Skasuj znak
ESC [ Pn S Przewiń region przewijania w górę
ESC [ Pn T Przewij region przewijania w dół
ESC [ Pn ^ jak wyżej
ESC [ Ps ;...; Ps h Ustaw tryb
ESC [ Ps ;...; Ps l Resetuj tryb
Ps = 4 (A) Tryb wstawiania
20 (A) Tryb automatycznego linefeed
34 Normalna widzialność kursora
?1 (V) Klawisze kursora aplikacji
?3 (V) Zmień szerokość terminala na 132 kolumny
?5 (V) Tryb reverse video
?6 (V) Tryb origin
?7 (V) Tryb zawijania
?25 (V) Widzialny kursor
ESC [ 5 i (A) Zacznij transmitować do drukarki (ANSI Media
Copy)
ESC [ 4 i (A) Przerwij transmisję do drukarki (ANSI Media
Copy)
ESC [ 8 ; Ph ; Pw t Zmień rozmiar okna na `Ph' linii i `Pw'
kolumn (SunView special)
ESC [ c Wyślij łańcuch identyfikacji VT100
ESC [ x Wyślij raport parametrów terminala
ESC [ > c Wyślij łańcuch atrybutów drugorzędnego
urządzenia VT220
ESC [ 6 n Wyślij raport pozycji kursora
TRANSLACJA WEJŚCIA
Aby spełniać pełną emulację VT100, screen musi wykryć, że w strumieniu
wejściowym wygenerowano sekwencję znaków i wstawić sekwencję specjalną
VT100. Screen robi to w bardzo elastyczny sposób, umożliwiając
zmapowanie arbitralnych komand na arbitralne sekwencje znakowe. Dla
standardowej emulacji VT100, komenda będzie zawsze wstawiać łańcuch do
bufora wejściowego okna (zobacz też opis komendy stuff). Z uwagi na
to, że sekwencje generowane przez naciśnięcie klawisza mogą się zmienić
po ponownym podłączeniu z innego terminala, można wiązać komendy do
nazw termcapowych klawiszy. Screen wstawi wtedy prawidłowe wiązanie po
każdym wznowieniu. Zobacz też komendę bindkey dla dalszych szczegółów
składni i przykładów.
Oto tablica domyślnych wiązań klawiszowych. (A) oznacza, że komenda
jest wykonywana jeśli klawiatura jest w trybie aplikacji.
Nazwa klawisza Nazwa termcap Komenda
______________________________________________________
Kursor w górę ku stuff \033[A
stuff \033OA (A)
Kursor w dół kd stuff \033[B
stuff \033OB (A)
Kursor w prawo kr stuff \033[C
stuff \033OC (A)
Kursor w lewo kl stuff \033[D
stuff \033OD (A)
Klawisz funkc 0 k0 stuff \033[10~
Klawisz funkc 1 k1 stuff \033OP
Klawisz funkc 2 k2 stuff \033OQ
Klawisz funkc 3 k3 stuff \033OR
Klawisz funkc 4 k4 stuff \033OS
Klawisz funkc 5 k5 stuff \033[15~
Klawisz funkc 6 k6 stuff \033[17~
Klawisz funkc 7 k7 stuff \033[18~
Klawisz funkc 8 k8 stuff \033[19~
Klawisz funkc 9 k9 stuff \033[20~
Klawisz funk 10 k; stuff \033[21~
Klawisz funk 11 F1 stuff \033[22~
Klawisz funk 12 F2 stuff \033[23~
Backspace kb stuff \010
Home kh stuff \033[1~
End kH stuff \033[4~
Insert kI stuff \033[2~
Delete kD stuff \033[3~
Page up kP stuff \033[5~
Page down kN stuff \033[6~
Keypad 0 f0 stuff 0
stuff \033Op (A)
Keypad 1 f1 stuff 1
stuff \033Oq (A)
Keypad 2 f2 stuff 2
stuff \033Or (A)
Keypad 3 f3 stuff 3
stuff \033Os (A)
Keypad 4 f4 stuff 4
stuff \033Ot (A)
Keypad 5 f5 stuff 5
stuff \033Ou (A)
Keypad 6 f6 stuff 6
stuff \033Ov (A)
Keypad 7 f7 stuff 7
stuff \033Ow (A)
Keypad 8 f8 stuff 8
stuff \033Ox (A)
Keypad 9 f9 stuff 9
stuff \033Oy (A)
Keypad + f+ stuff +
stuff \033Ok (A)
Keypad - f- stuff -
stuff \033Om (A)
Keypad * f* stuff *
stuff \033Oj (A)
Keypad / f/ stuff /
stuff \033Oo (A)
Keypad = fq stuff =
stuff \033OX (A)
Keypad . f. stuff .
stuff \033On (A)
Keypad , f, stuff ,
stuff \033Ol (A)
Keypad enter fe stuff \015
stuff \033OM (A)
SPECJALNE WŁAŚCIWOŚCI TERMINALA
Następująca tablica opisuje wszystkie właściwości terminala, które są
rozpoznawane przez screen, a których nie ma w podręczniku termcap(5).
Możesz umieszczać te właściwości w swoich wpisach termcap (w
/etc/termcap) lub używać komend `termcap', `terminfo' i `termcapinfo' w
plikach screenrc. Często nie jest możliwe wstawienie tych właściwości
do bazy terminfo.
LP (bool) Terminal ma marginesy w stylu VT100 (`magiczne
marginesy'). Zauważ, że ta właściwość jest przedawniona,
gdyż screen używa zamiast tego standardowego
Z0 (str) Zmień szerokość na 132 kolumny.
Z1 (str) Zmień szerokość na 80 kolumn.
WS (str) Zmień rozmiar wyświetlacza. Właściwość ta jako argumenty
bierze oczekiwaną szerokość i wysokość. Przykład
SunView(tm): '\E[8;%d;%dt'.
NF (bool) Terminal nie potrzebuje kontroli przepływu. Przesyłaj ^S i
^Q bezpośrednio do aplikacji. To samo co 'flow off'.
Przeciwieństwem tej właściwości jest 'nx'.
G0 (bool) Terminal daje sobie radę z sekwencjami wyboru fontu ISO
2022.
S0 (str) Przełącz zestaw znaków 'G0' na podany zestaw. Domyślnym
jest '\E(%.'.
E0 (str) Przełącz zestaw znaków 'G0' z powrotem na standardowy
zestaw. Domyślnie to '\E(B'.
C0 (str) Użyj łańcucha jako tablicy konwersji dla fontu '0'. Zobacz
właściwość 'ac' dla dalszych szczegółów.
CS (str) Przełącz klawisze-kursora w tryb aplikacji.
CE (str) Przełącz klawisze-kursora z powrotem do trybu normalnego.
AN (bool) Włącz autonuke. Zobacz komendę 'autonuke' dla dalszych
szczegółów.
OL (num) Ustaw limit bufora wyjściowego. Zobacz komendę 'obuflimit'
dla dalszych szczegółów.
KJ (str) Ustaw typ kanji terminala. Prawidłowe ustawienia to "jis",
"euc" i "sjis".
AF (str) Zmień kolor pierwszego planu znaków w postaci zgodnej z
ANSI. Właściwość ta jest prawie zawsze ustawiana na
'\E[3%dm' ('\E[3%p1%dm' na maszynach terminfo).
AB (str) To samo co 'AF', lecz zmienia kolor tła.
AX (bool) Rozumie włączanie domyślnego koloru pierwszego planu/tła
ANSI (\E[39m / \E[49m).
XC (str) Opisuje translację znaków na łańcuchy, zależnie od
bieżącego fontu. Więcej detali w następnej sekcji.
TF (bool) Dodaj brakujące właściwości termcap/info. (Domyślnie
ustawione).
TRANSLACJA ZNAKÓW
Screen ma potężny mechanizm tłumaczenia znaków na arbitralne łańcuchy,
zależnie od bieżącego fontu i typu terminala.
Składnia:
XC=<mapowanie-znakw>{,,<mapowanie-znakw>}
<mapowanie-znakw> := <desygnator><wzorzec>{,<mapowanie>}
<mapowanie> := <znak-do-zmapowania><arg-wzorca>
Elementy w nawiasach mogą być powtarzane wielokrotnie.
<mapowanie-znakw> mówi screenowi jak mapować znaki fontu <desygnator>
('B': Ascii, 'A': UK, 'K': niemiecki, itd.) na łańcuchy. Każde
<mapowanie< opisuje na jaki łańcuch tłumaczyć pojedynczy znak. Z uwagi
na wiele wspólnego różnych kodów, używany jest mechanizm wzorców (np.
łańcuchy przełączające do i z jakiegoś zestawu znaków). Każde
pojawienie się we <wzorcu> znaku '%' jest podmieniane na <arg-wzorca>
podany wraz ze znakiem. Jeśli twoje łańcuchy nie są w ogóle podobne,
użyj jako wzorca '%' i umieść pełny łańcuch w <arg-wzorca>. Aby
umożliwić używanie rzeczywistego '%', udostępniono mechanizm cytowania.
Znak '\' cytuje znaki specjalne '\', '%' i ','.
Here is an example:
termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'
Mówi to screenowi jak tłumaczyć duże znaki umlaut z ISOlatin1 (zestaw
znaków 'B') na terminalu hp700, który posiada niemiecki zestaw znaków.
'\304' będzie tłumaczone na '\E(K[\E(B' itd. Zauważ, że linia ta jest
przetwarzana *trzykrotnie* zanim zbudowana zostanie wewnętrzna tablica
sprawdzania. Dlatego do uzyskania pojedynczego '\' potrzeba sporo
cytowania.
Aby umożliwić dalszą emulację, dodano jeszcze jedno rozszerzenie: jeśli
mapowanie tłumaczy niecytowany znak '%', to będzie on wysyłany na
terminal za każdym razem, gdy screen włączy odpowiedni <desygnator>. W
tym specjalnym przypadku, wzorzec jest przyjmowany jako '%', ponieważ
zazwyczaj sekwencja przełączania znaków i mapowania nie mają wiele
wspólnego
Poniższy przykład pokazuje zastosowanie tego rozszerzenia:
termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'
W tym wypadku, na xtermie emulowana jest część niemieckiego zestawu
znaków ('K'). Jeśli screen musi zmienić zestaw znaków na 'K', to wyśle
do terminala sekwencję '\E(B', tj. zamiast używany będzie zestaw ASCII.
Wzorzec to sam znak '%', więc mapowanie jest proste: '[' na '\304', '\'
na '\326', i ']' na '\334'.
ŚRODOWISKO
COLUMNS Liczba kolumn terminala (przesłania wpis termcap).
HOME Katalog, w którym szukać .screenrc.
LINES Liczba wierszy terminala (przesłania wpis termcap).
LOCKPRG Program blokujący screena.
NETHACKOPTIONS Włącza opcję nethack.
PATH Używane do lokalizowania uruchamianych programów.
SCREENCAP Dla dostosowywania terminalowej wartości TERMCAP.
SCREENDIR Alternatywny katalog gniazd.
SCREENRC Alternatywny plik screenrc.
SHELL Domyślny program powłokowy dla otwierania okien
(domyślnie "/bin/sh").
STY Alternatywna nazwa gniazda.
SYSSCREENRC Alternatywny systemowy plik screenrc.
TERM Nazwa terminala.
TERMCAP Opis terminala.
PLIKI
.../screen-3.?.??/etc/screenrc
.../screen-3.?.??/etc/etcscreenrc Przykłady dystrybucyjne prywatnych i
globalnych plików inicjalizacji
$SYSSCREENRC
/etc/screenrc komendy inicjalizacji screena
$SCREENRC
$HOME/.screenrc Wczytywane po /etc/screenrc
$SCREENDIR/S-<login>
/tmp/screens/S-<login> Katalogi gniazdowe (domyślnie)
<socket directory>/.termcap Zapisywane przez funkcję wyjściową
"termcap"
/tmp/screens/screen-exchange lub
/tmp/screen-exchange bufor komunikacji międzyprocesowej
screena
hardcopy.[0-9] Obrazy ekranów, stworzone funkcją
hardcopy
screenlog.[0-9] Wyjściowe pliki raportowe, utworzone
funkcją log
/usr/share/terminfo/?/* lub
/var/run/utmp Wpisy zgłoszeniowe
$LOCKPRG Program, blokujący terminal.
ZOBACZ TAKŻE
termcap(5), utmp(5), vi(1), captoinfo(1), tic(1)
AUTORZY
Oryginalnie stworzone przez Oliviera Laumanna. Najnowsza wersja wydana
przez Wayne Davisona, Juergena Weigerta i Michaela Schroedera.
KOPIOWANIE
Copyright (C) 1999
Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
Copyright (C) 1987 Oliver Laumann
Program ten jest programem wolnodostępnym; możesz go dystrybuować i/lub
modyfikować według GNU General Public License, opublikowanej przez FSF;
wersja 2, lub (wg uznania) dowolna wersja późniejsza.
Program ten jest dystrybuowane w nadziei, że będzie przydatny, lecz bez
ŻADNEJ GWARANCJI. Zobacz GNU GPL dla dalszych szczegółów.
Powinieneś wraz z tym programem otrzymać kopię GNU GPL (zobacz plik
COPYING); jeśli nie, napisz do Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA
KONTRYBUTORZY
Ken Beal (kbeal@amber.ssd.csd.harris.com),
Rudolf Koenig (rfkoenig@immd4.informatik.uni-erlangen.de),
Toerless Eckert (eckert@immd4.informatik.uni-erlangen.de),
Wayne Davison (davison@borland.com),
Patrick Wolfe (pat@kai.com, kailand!pat),
Bart Schaefer (schaefer@cse.ogi.edu),
Nathan Glasser (nathan@brokaw.lcs.mit.edu),
Larry W. Virden (lvirden@cas.org),
Howard Chu (hyc@hanauma.jpl.nasa.gov),
Tim MacKenzie (tym@dibbler.cs.monash.edu.au),
Markku Jarvinen (mta@{cc,cs,ee}.tut.fi),
Marc Boucher (marc@CAM.ORG),
Doug Siebert (dsiebert@isca.uiowa.edu),
Ken Stillson (stillson@tsfsrv.mitre.org),
Ian Frechett (frechett@spot.Colorado.EDU),
Brian Koehmstedt (bpk@gnu.ai.mit.edu),
Don Smith (djs6015@ultb.isc.rit.edu),
Frank van der Linden (vdlinden@fwi.uva.nl),
Martin Schweikert (schweik@cpp.ob.open.de),
David Vrona (dave@sashimi.lcu.com),
E. Tye McQueen (tye%spillman.UUCP@uunet.uu.net),
Matthew Green (mrg@mame.mu.oz.au),
Christopher Williams (cgw@unt.edu),
Matt Mosley (mattm@access.digex.net),
Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU).
WERSJA
Jest to wersja 3.9. Jej korzenie są złączeniem wersji 2.3PR7 Wayne
Davisona i wielu rozszerzeń wersji 2.0 Olivera Laumanna. Zauważ, że
wszystkie wersje numerowane jako 2.x są autorstwa Oliviera Laumanna.
DOSTĘPNOŚĆ
Najnowsza oficjalna wersja screena jest dostępna przez anonimowy ftp z
prep.ai.mit.edu, nic.funet.fi lub dowolnego innego hosta dystrybucji
GNU. Domowym hostem screena jest ftp.uni-erlangen.de (131.188.3.71),
katalog pub/utilities/screen. Podkatalog `private' zawiera najnowsze
wersje beta. Jeśli chcesz pomóc, wyślij wiadomość na screen@uni-
erlangen.de.
BŁĘDY
o `dm' (tryb kasowania) i `xs' nie są obsługiwane (są ignorowane).
`xn' jest traktowany jako wskaźnik magicznych marginesów.
o Screen nie wie nic o znakach podwojonej wysokości lub szerokości.
Jest to jednak jedyne miejsce, w którym vttest ma prawo się nie
powieść.
o Nie jest możliwe zmienienie zmiennej środowiskowej $TERMCAP podczas
ponownego podłączania z innego terminala.
o Obsługa systemów opartych o terminfo jest bardzo ograniczona.
Dodawanie właściwości do $TERMCAP może nie mieć żadnych efektów.
o Screen nie używa sprzętowych tabów.
o Screen musi być na większości systemów instalowany jako suid root.
Inaczej nie będzie w stanie w odpowiedni sposób zmienić właściciela
pliku urządzenia tty dla każdego okna. Wymaga także specjalnych
uprawnień do zapisu do pliku "/var/run/utmp".
o Wpisy z "/var/run/utmp" nie są usuwane gdy screen jest zbijany
SIGKILL. Powoduje to, że niektóre programy ("w", "rwho") mówią, że
użytkownik jest zalogowany, choć wcale tak nie jest.
o Screen może dawać dziwne ostrzeżenia jeśli twój tty nie ma wpisu
utmp.
o Gdy linia modemu zostanie odwieszona, screen nie zawsze
automatycznie się odłączy (lub zakończy działanie), chyba że
sterownik urządzenia wysyła sygnał HANGUP. Aby odłączyć sesję
screena, użyj opcji -d lub -D linii komend.
o Jeśli ustawione jest hasło, opcje -d, -D linii komend wciąż
odłączają sesję bez pytania.
o Zarówno "breaktype" jak i "defbreaktype" zmieniają metodę
generowania przerwania, używaną przez wszystkie urządzenia
terminalowe. Pierwszy powinien zmienić tylko ustawienie okna a
drugi tylko wartość domyślną dla nowych okien.
o Podczas podłączania do sesji wieloużytkownikowej, plik .screenrc
użytkownika nie jest oglądany. Ustawienia prywatne użytkowników
muszą być włączane do pliku .screenrc, z którego uruchomiono sesję,
lub zmieniane ręcznie.
o Dziwna wyobraźnia jest bardzo przydatna do zrozumienia wszystkich
właściwości.
o Wysyłaj raporty o błędach, usprawnienia, koszulki, pieniądze, piwo &
pizzę do screen@uni-erlangen.de.