Provided by: manpages-pl_20060617-2_all bug

NAZWA

       tset - inicjalizacja terminala

SKŁADNIA

       tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapowanie] [terminal]
       reset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapowanie] [terminal]

OPIS

       Tset   inicjalizuje   terminale.    Program   najpierw  określa  rodzaj
       terminala, z którego korzystasz. Robi to w następujący sposób, szukając
       pierwszego pasującego typu terminala:

       1. Poprzez argument terminal, podany w linii poleceń.

       2. Poprzez wartość zmiennej środowiskowej TERM.

       3.  (Tylko systemy BSD.) Typ terminala, związany poprzez plik /etc/ttys
       z urządzeniem stderr. (Pod Linuksem i  UNIX-ami  w  rodzaju  System  V,
       robotę  tą wykonuje getty, ustawiając TERM zgodnie z typem, przekazanym
       mu przez /etc/inittab.)

       4. Poprzez wybranie domyślnego typu terminala, ``unknown''.

       Jeśli rodzaj terminala nie był podany w linii poleceń, to załączane  są
       mapowania  opcji  -m  (zobacz  niżej opis).  Potem, jeśli typ terminala
       zaczyna  się  od  pytajnika   (``?''),   użytkownik   jest   pytany   o
       potwierdzenie.  Pusta  odpowiedź  potwierdza  typ, a niepusta wprowadza
       inny. Gdy  terminal  zostanie  już  określony,  odczytywany  jest  opis
       terminala  z  terminfo.  Jeśli  nie  ma  dla  niego  opisu  w terminfo,
       użytkownik jest proszony o podanie innego typu terminala.

       Gdy opis terminfo zostanie już  pobrany,  ustawiane  są  rozmiar  okna,
       znaki  backspace, przerwania (interrupt) i zabicia liniii i wysyłane są
       na wyjście stderr łańcuchy inicjalizacji tab i  terminala.  Na  koniec,
       jeśli znaki kasowania (erase), przerwania (interrupt) i usunięcia linii
       (line kill) zmieniły się, lub nie są ustawione  na  wartości  domyślne,
       ich wartości są wyświetlane na wyjście stderr.

       Po  wywołaniu  jako  reset,  tset  ustawia tryby cooked i echo, wyłącza
       tryby cbreak i raw, włącza tłumaczenie nowej linii i resetuje wszystkie
       nieustawione  znaki  specjalne na wartości domyślne. Następnie zachodzi
       inicjalizacja terminala, opisana wyżej. Jest to przydatne jeśli program
       umrze,   pozostawiając  terminal  w  nienormalnym  stanie.  Zauważ,  że
       możliwe, że będzie trzeba wpisać

           <LF>reset<LF>

       (znak line-feed to zazwyczaj control-J) aby  terminal  zaczął  działać,
       gdyż  CR  może  w  stanie  nienormalnym nie działać. Poza tym, terminal
       często nie będzie odbijał echa komendy.

       Opcje są następujące:

       -q   Typ terminala jest wyświetlany na standardowe wyjście i  nie  jest
            on  w żaden sposób inicjalizowany. Opcja `-' jest równoważna, lecz
            archaiczna.

       -e   Ustaw znak kasowania (erase) na ch.

       -I   Nie wysyłaj na terminal łańcuchów inicjalizacji tab lub terminala.

       -i   Ustaw znak przerwania (interrupt) na ch.

       -k   Ustaw znak usuwania linii (line kill) na ch.

       -m   Podaj mapowanie z typu portu na terminal. Patrz niżej.

       -Q   Nie wyświetlaj żadnych wartości dla znaków erase, interrupt i line
            kill.

       -r   Drukuj na stderr typ terminala.

       -s   Drukuj na stdout sekwencję  komend  powłokowych,  inicjalizujących
            zmienną  środowiskową  TERM.  Zobacz też sekcję niżej o ustawianiu
            środowiska.

       Argumenty dla -e, -i, -k mogą być wprowadzane jako  normalne  znaki,  z
       użyciem  notacji  `kapeluszowej',  tj. control-h może być podawany jako
       ``^H'' czy ``^h''.

USTAWIANIE ŚRODOWISKA

       Często do środowiska powłoki  przydaje  się  wstawić  typ  terminala  i
       informację  o  jego właściwościach. Dokonuje się tego przy użyciu opcji
       -s.

       Gdy podana jest opcja -s, komendy wymagane do wstawienia informacji  do
       środowiska  powłoki są zapisywane na stdout. Jeśli zmienna środowiskowa
       SHELL kończy  się  na  ``csh'',  komendy  są  preparowane  dla  csh,  w
       przeciwnym  wypadku  tworzone są dla sh. Następująca linia w .login czy
       .profile powinna prawidłowo zainicjalizować środowisko:

           eval `tset -s options ... `

MAPOWANIE TYPU TERMINALA

       Gdy terminal nie  jest  ściśle  przywiązany  do  systemu  (lub  bieżąca
       informacja   systemowa   może   nie   być  prawidłowa),  typ  terminala
       wyprowadzony z pliku /etc/ttys lub ze zmiennej środowiskowej TERM  może
       być  często  czymś  podstawowym, w rodzaju network, dialup czy unknown.
       Gdy  tset  jest  używany  w  skrypcie  startowym,  często  dobrze  jest
       udostępnić informację o typie terminala używanym na takich portach.

       Celem  opcji -m jest mapowanie z pewnych warunków na typ terminala, tj.
       mówienie tset ``Jestem na tym porcie, z  taką  prędkością,  więc  chyba
       jestem na tym typie terminala''.

       Argument  opcji  -m  składa się z opcjonalnego typu portu, opcjonalnego
       operatora  i  opcjonalnej  szybkości  oraz  znaku  dwukropka   i   typu
       terminala.  Typ  portu jest łańcuchem (rozdzielanym przez operator albo
       znak dwukropka).  Operator może być dowolną  kombinacją  ``>'',  ``<'',
       ``@''  i  ``!'';  ``>''  oznacza  większy  od, ``<'' mniejszy od, ``@''
       równy, a ``!'' odwraca sens testu.  Szybkość jest podawana jako  liczba
       i  jest  porównywana  z  szybkością wyjścia standardowego błędów (które
       powinno być kontrolującym terminalem). Typ terminala jest łańcuchem.

       Jeśli w linii poleceń nie podano typu terminala, do typu  stosowane  są
       mapowania  -m.  Jeśli  typ  portu  i  szybkość  odpowiadają  mapowaniu,
       terminal podany w mapowaniu podmienia typ obecny. Jeśli  podanych  jest
       więcej niż jedno mapowanie, użyte zostanie pierwsze pasujące.

       Na  przykład,  rozważ  następujące  mapowanie:  dialup>9600:vt100.  Typ
       portu to dialup, operator to >, szybkość to 9600, a  typ  terminala  to
       vt100.  Wynikiem  mapowania  jest określenie, że jeśli typ terminala to
       dialup,  szybkość  jest  większa  niż  9600  bodów,  to  należy  używać
       terminala vt100.

       Jeśli  nie poda się szybkości, typ terminala będzie pasował do dowolnej
       szybkości. Jeśli nie poda się typu portu, terminal  będzie  pasował  do
       dowolnego  portu. Na przykład, -m dialup:vt100 -m :?xterm spowoduje, że
       dowolny port dialupowy,  niezależnie  od  szybkości  będzie  odpowiadał
       terminalowi   vt100,  podczas  gdy  dowolny  port  niedialupowy  będzie
       traktowany jako ?xterm.  Zauważ, że z  uwagi  na  pytajnik,  użytkownik
       będzie  zapytany  o  domyślnym  porcie czy rzeczywiście używa terminala
       xterm.

       W argumencie opcji -m dozwolone są znaki białych spacji.  Ponadto,  aby
       zapobiec  problemom  z metaznakami, całą opcję -m zaleca się umieszczać
       wewnątrz cytatów, a  użytkownikom  csh  umieszczanie  lewych  ukośników
       (``\'') przed znakami wykrzykników (``!'').

HISTORIA

       Komenda  tset  pojawiła  się  w  BSD 3.0. Implementacja ncurses została
       częściowo zaadaptowana ze źródeł 4.4BSD do  środowiska  terminfo  przez
       Erica S. Raymonda <esr@snark.thyrsus.com>.

KOMPATYBILNOŚĆ

       Narzędzie  tset  zostało  udostępnione  do wstecznej kompatybilności ze
       środowiskami BSD (pod większością UNIX-ów /etc/inittab i getty(1)  mogą
       ustawiać odpowiednio TERM dla dowolnej linii dial-up, a to trywializuje
       to,  co  było  najważniejszym  zastosowanem  tset).  Implementacja   ta
       zachowuje się jak tset z 4.4BSD, lecz zawiera kilka wyjątków.

       Opcja -S z BSD tset nie działa; drukuje na stderr komunikat o błędzie i
       umiera. Opcja -s ustawia tylko TERM, nie TERMCAP. Obydwie te zmiany  są
       spowodowane tym, że zmienna TERMCAP nie jest już obsługiwana w opartych
       o terminfo ncurses, co powoduje że tset -S jest bezużyteczny.

       Istniała nieudokumentowana właściwość 4.4BSD, według  której  wywołanie
       tset  poprzez  dowiązanie  o  nazwie  `TSET`  (lub  poprzez inną nazwę,
       rozpoczynającą się od dużej  litery)  ustawiało  terminal  na  używanie
       tylko dużych liter.  Właściwość ta została pominięta.

       Opcje  -A, -E, -h, -u i -v skasowano z narzędzia tset w 4.4BSD. Żadne z
       nich nie było udokumentowane w 4.3BSD i wszystkie  miały  w  najlepszym
       wypadku  ograniczoną  przydatność.  Opcje  -a,  -d  i  -p  są  podobnie
       nieopisane lub nieużyteczne, lecz zostały utrzymane, gdyż  okazuje  się
       że   są   powszechnie   używane.   Jest   mocno   zalecane   zmienienie
       wykorzystywania tych opcji na opcję -m.  Opcja -n pozostaje,  lecz  nie
       ma  żadnego  efektu.  Opcje -adnp są z tej przyczyny pominięte w opisie
       powyżej.

       Wciąż jest dozwolone podawanie opcji -e, -i i -k bez  argumentów,  choć
       mocno jest zalecane, by zmienić to na jawne podawanie znaku.

       Od  4.4BSD,  wywoływanie  tset  jako  reset nie implikuje już opcji -Q.
       Poza tym, interakcja między opcją - a argumentem terminal, pochodząca z
       historycznych implementacji tset została usunięta.

ŚRODOWISKO

       Komenda tset używa zmiennych środowiskowych SHELL i TERM.

PLIKI

       /etc/ttys
            baza mapowań nazw portów na typy terminali (tylko wersje BSD).

       /usr/share/terminfo
            baza właściwośći terminala

ZOBACZ TAKŻE

       csh(1), sh(1), stty(1), tty(4), termcap(5), ttys(5), environ(7)

                                                                       tset(1)