NAZWA¶
screen - menedżer ekranu z emulacją VT100/ANSI
SKŁADNIA¶
screen [
-opcje] [
komenda [
argumenty]]
screen -r [[
pid.]
tty[
.host]]
screen -r
właścicielsesji/[[
pid.]
tty[
.host]]
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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
właścicielsesji/[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 nazwyużytkowników [
crypted-pw]
addacl nazwyużytkowników
Umożliw użytkownikom pełny dostęp do tej sesji screen.
Nazwyużytkowników 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
nazwyużytkowników +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 nazwyużytkowników bityuprawnień lista
chacl nazwyużytkowników 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
nazwyużytkowników 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
nazwaużytkownika -w+w 2'. Aby zezwolić na dostęp tylko
dla odczytu do sesji: `aclchg
nazwaużytkownika -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 nazwaużytkownika
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 nazwaużytkownika [
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 [[
użytkownicy]
+bity
|[
użytkownicy]
-bity .... ]
umask
[[
użytkownicy]
+bity |[
użytkownicy]
-bity
.... ]
Określa to dostęp, jaki będą mieli inni użytkownicy do
okien tworzonych przez wołającego komendę.
Użytkownicy 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
wiadomości 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 `%'
wiadomości 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]
łańcuch [
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
łańcuch 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 [
łańcuch]
caption string [
łańcuch]
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 bieżący 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 powtórzeń:
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.
Specjalności:
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
[
łańcuch]
hardstatus string [
łańcuch]
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
łańcuch, 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 [
łańcuch]
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 łańcuch
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_hasło]
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 łańcuch
Zachowuje podany
łańcuch 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 [
łańcuch]]
Ustawia zmienną środowiskową
zmienna na wartość
łańcuch. 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 łańcuch
Przerzuć
łańcuch 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
komunikatów. 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.
- •
- Normalne okno zawiera powłokę, lub dowolną
inną komendę systemową, jaką można uruchomić
z powłoki (np. slogin, itd...)
- •
- 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.
- •
- 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>k
nazwa<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 'xn'.
- 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-znaków>{,,<mapowanie-znaków>}
<mapowanie-znaków> := <desygnator><wzorzec>{,<mapowanie>}
<mapowanie> := <znak-do-zmapowania><arg-wzorca>
Elementy w nawiasach mogą być powtarzane wielokrotnie.
<mapowanie-znaków> 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¶
- •
- `dm' (tryb kasowania) i `xs' nie są obsługiwane
(są ignorowane). `xn' jest traktowany jako wskaźnik magicznych
marginesów.
- •
- 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ść.
- •
- Nie jest możliwe zmienienie zmiennej
środowiskowej $TERMCAP podczas ponownego podłączania z
innego terminala.
- •
- Obsługa systemów opartych o terminfo jest bardzo
ograniczona. Dodawanie właściwości do $TERMCAP może
nie mieć żadnych efektów.
- •
- Screen nie używa sprzętowych tabów.
- •
- 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".
- •
- 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.
- •
- Screen może dawać dziwne ostrzeżenia
jeśli twój tty nie ma wpisu utmp.
- •
- 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.
- •
- Jeśli ustawione jest hasło, opcje -d, -D linii
komend wciąż odłączają sesję bez
pytania.
- •
- 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.
- •
- 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.
- •
- Dziwna wyobraźnia jest bardzo przydatna do zrozumienia
wszystkich właściwości.
- •
- Wysyłaj raporty o błędach, usprawnienia,
koszulki, pieniądze, piwo & pizzę do
screen@uni-erlangen.de.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 1 screen
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.