.\" 2000 PTM Przemek Borys <pborys@dione.ids.pl>
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
.\"                                                                          *
.\" Permission is hereby granted, free of charge, to any person obtaining a  *
.\" copy of this software and associated documentation files (the            *
.\" "Software"), to deal in the Software without restriction, including      *
.\" without limitation the rights to use, copy, modify, merge, publish,      *
.\" distribute, distribute with modifications, sublicense, and/or sell       *
.\" copies of the Software, and to permit persons to whom the Software is    *
.\" furnished to do so, subject to the following conditions:                 *
.\"                                                                          *
.\" The above copyright notice and this permission notice shall be included  *
.\" in all copies or substantial portions of the Software.                   *
.\"                                                                          *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
.\"                                                                          *
.\" Except as contained in this notice, the name(s) of the above copyright   *
.\" holders shall not be used in advertising or otherwise to promote the     *
.\" sale, use or other dealings in this Software without prior written       *
.\" authorization.                                                           *
.\"***************************************************************************
.\"
.\" $Id: tset.1,v 1.2 2000/09/30 17:08:37 wojtek2 Exp $
.TH tset 1 ""
.SH NAZWA
\fBtset\fR - inicjalizacja terminala
.SH SKŁADNIA
tset [\-IQqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapowanie\fR] [\fIterminal\fR]
.br
reset [\-IQqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapowanie\fR] [\fIterminal\fR]
.SH OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.PP
\&\fBTset\fR 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:
.PP
1. Poprzez argument \fBterminal\fR, podany w linii poleceń.
.PP
2. Poprzez wartość zmiennej środowiskowej \fBTERM\fR.
.PP
3. (Tylko systemy BSD.) Typ terminala, związany poprzez plik \fI/etc/ttys\fR
z urządzeniem stderr. (Pod Linuksem i UNIX-ami w rodzaju System V, 
robotę tą wykonuje \fIgetty\fR, ustawiając \fBTERM\fR
zgodnie z typem, przekazanym mu przez \fI/etc/inittab\fR.)
.PP
4. Poprzez wybranie domyślnego typu terminala, ``unknown''.
.PP
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.
.PP
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.
.PP
Po wywołaniu jako \fBreset\fR, \fBtset\fR 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ć

    \fB<LF>reset<LF>\fR

(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.
.PP
Opcje są następujące:
.TP 5
\-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.
.TP 5
\-e
Ustaw znak kasowania (erase) na \fIch\fR.
.TP 5
\-I
Nie wysyłaj na terminal łańcuchów inicjalizacji tab lub terminala.
.TP 5
\-i
Ustaw znak przerwania (interrupt) na \fIch\fR.
.TP 5
\-k
Ustaw znak usuwania linii (line kill) na \fIch\fR.
.TP 5
\-m
Podaj mapowanie z typu portu na terminal. Patrz niżej.
.TP 5
\-Q
Nie wyświetlaj żadnych wartości dla znaków erase, interrupt i line kill.
.TP 5
\-r
Drukuj na stderr typ terminala.
.TP 5
\-s
Drukuj na stdout sekwencję komend powłokowych, inicjalizujących zmienną
środowiskową \fBTERM\fR.
Zobacz też sekcję niżej o ustawianiu środowiska.
.PP
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''.
.SH 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.
.PP
Gdy podana jest opcja \-s, komendy wymagane do wstawienia informacji do
środowiska powłoki są zapisywane na stdout. Jeśli zmienna środowiskowa
\fBSHELL\fR kończy się na ``csh'', komendy są preparowane dla \fBcsh\fR, 
w przeciwnym wypadku tworzone są dla \fBsh\fR. Następująca linia w \fB.login\fR 
czy \fB.profile\fR powinna prawidłowo zainicjalizować środowisko:

    eval \`tset \-s options ... \`

.SH 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
\fI/etc/ttys\fR lub ze zmiennej środowiskowej \fBTERM\fR może być często czymś
podstawowym, w rodzaju \fBnetwork\fR, \fBdialup\fR czy \fBunknown\fR.
Gdy \fBtset\fR jest używany w skrypcie startowym, często dobrze jest
udostępnić informację o typie terminala używanym na takich portach.
.PP
Celem opcji \-m jest mapowanie z pewnych warunków na typ terminala, tj.
mówienie \fBtset\fR
``Jestem na tym porcie, z taką prędkością, więc chyba jestem na tym typie
terminala''.
.PP
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.
.PP
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.
.PP
Na przykład, rozważ następujące mapowanie: \fBdialup>9600:vt100\fR.
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
\fBdialup\fR, szybkość jest większa niż 9600 bodów, to należy używać
terminala \fBvt100\fR.
.PP
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,
\fB\-m dialup:vt100 \-m :?xterm\fR
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.
.PP
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 \fBcsh\fR umieszczanie lewych ukośników
(``\e'') przed znakami wykrzykników (``!'').
.SH HISTORIA
Komenda \fBtset\fR pojawiła się w BSD 3.0. Implementacja \fBncurses\fR
została częściowo zaadaptowana ze źródeł 4.4BSD do środowiska terminfo przez
Erica S. Raymonda <esr@snark.thyrsus.com>.
.SH KOMPATYBILNOŚĆ
Narzędzie \fBtset\fR zostało udostępnione do wstecznej kompatybilności ze
środowiskami BSD (pod większością UNIX-ów \fB/etc/inittab\fR i
\fIgetty\fR(1) mogą ustawiać odpowiednio \fBTERM\fR dla dowolnej linii
dial-up, a to trywializuje to, co było najważniejszym zastosowanem
\fBtset\fR). Implementacja ta zachowuje się jak tset z 4.4BSD, lecz zawiera
kilka wyjątków.
.PP
Opcja \-S z BSD tset nie działa; drukuje na stderr komunikat o błędzie i
umiera. Opcja \-s ustawia tylko \fBTERM\fR, nie \fBTERMCAP\fP. Obydwie te
zmiany są spowodowane tym, że zmienna \fBTERMCAP\fR nie jest już obsługiwana
w opartych o terminfo \fBncurses\fR, co powoduje że \fBtset \-S\fR jest
bezużyteczny.
.PP
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.
.PP
Opcje \-A, \-E, \-h, \-u i \-v skasowano z narzędzia \fBtset\fR 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.
.PP
Wciąż jest dozwolone podawanie opcji \-e, \-i i \-k bez argumentów, choć mocno
jest zalecane, by zmienić to na jawne podawanie znaku.
.PP
Od 4.4BSD, wywoływanie \fBtset\fR jako \fBreset\fR nie implikuje już opcji \-Q.
Poza tym, interakcja między opcją - a argumentem \fIterminal\fR, pochodząca
z historycznych implementacji \fBtset\fR została usunięta.
.SH ŚRODOWISKO
Komenda \fBtset\fR używa zmiennych środowiskowych \fBSHELL\fR i \fBTERM\fR.
.SH PLIKI
.TP 5
/etc/ttys
baza mapowań nazw portów na typy terminali (tylko wersje BSD).
.TP 5
/usr/share/terminfo
baza właściwośći terminala
.SH ZOBACZ TAKŻE
csh(1),
sh(1),
stty(1),
tty(4),
termcap(5),
ttys(5),
environ(7)
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:
.\"# mode:nroff
.\"# fill-column:79
.\"# End:

.SH "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. 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:
.IP
man \-\-locale=C 1 tset
.PP
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
