term(7)

NAZWA
term - zasady nazywania typów terminali

OPIS

Zmienna środowiskowa TERM powinna standardowo zawierać nazwę typu terminala, konsoli lub urządzenia wyświetlającego, który jest używany. Informacja ta jest niezbędna dla wszystkich programów wyświetlających wyniki na ekranie, włączając w to edytor czy program pocztowy.

Standardowa wartość zmiennej TERM będzie ustawiona poprzez inicjalizację linii poprzez plik /etc/inittab (Linux i podobne do Systemu V Uniksy) lub plik /etc/ttys (BSD UNIX). To prawie zawsze wystarczy dla stacji roboczych czy konsoli mikrokomputerów.

If you use a dialup line, the type of device attached to it may vary. Older UNIX systems pre-set a very dumb terminal type like “dumb” or “dialup” on dialup lines. Newer ones may pre-set “vt100”, reflecting the prevalence of DEC VT100-compatible terminals and personal-computer emulators.

Modern telnets pass your TERM environment variable from the local side to the remote one. There can be problems if the remote terminfo or termcap entry for your type is not compatible with yours, but this situation is rare and can almost always be avoided by explicitly exporting “vt100” (assuming you are in fact using a VT100-superset console, terminal, or terminal emulator).

W każdym razie, można dowolnie zmieniać zmienną TERM ustawioną przez system na dowolną wartość w profilu powłoki. Program tset(1) może być w tym pomocny; można mu podać zbiór reguł aby wydedukował lub zażądał podania typu terminala bazując na urządzeniu tty i prędkości przesyłu danych (baud rate).

Ustawienie zmiennej TERM własną wartością może być także użyteczne jeśli stworzono własną definicję terminala włączając opcje (takie jak widzialny dzwonek (czyli błyśnięcie ekranu lub podświetlenie) które mają zamienić standardowe ustawienia systemu.

Opisy typów terminali są przechowywane jako pliki zawierające dane opisujące ich możliwości w katalogu /etc/terminfo. Aby przejrzeć listę wszystkich nazw terminali rozpoznawanych przez system, proszę wykonać

  toe | more

z poziomu powłoki. Pliki te, opisujące możliwości terminali są przechowywane w formacie binarnym aby zapewnić optymalną prędkość dostępu do nich (odwrotnie niż w przypadku starego bazującego na tekście pliku termcap, który zastępują); aby sprawdzić jedną z pozycji należy użyć polecenia infocmp(1). Wywołać można go następująco:

  infocmp nazwa

gdzie nazwa jest nazwą typu terminala, który ma być sprawdzony (i zarazem nazwą pliku w podkatalogu /etc/terminfo nazwanym od pierwszej litery typu terminala). Komenda ta wyświetla plik z opisem terminala w formacie tekstowym opisanym przez terminfo(5).

The first line of a terminfo(5) description gives the names by which terminfo knows a terminal, separated by “|” (pipe-bar) characters with the last name field terminated by a comma. The first name field is the type's primary name, and is the one to use when setting TERM. The last name field (if distinct from the first) is actually a description of the terminal type (it may contain blanks; the others must be single words). Name fields between the first and last (if present) are aliases for the terminal, usually historical names retained for compatibility.

Istnieją pewne konwencje jak dobierać podstawowe nazwy terminala, które pozwalają aby były unikalne, a zarazem niosły w sobie pewną informację. Poniżej zamieszczony jest przewodnik, który krok po kroku wyjaśnia jak nazywać a także jak je rozumieć:

Najpierw proszę wybrać główną nazwę. Powinna się ona składać z małej litery i następujących po niej do siedmiu małych liter bądź cyfr. Powinno się unikać używania znaków przestankowych w głównych nazwach, ponieważ są one używane i interpretowane jako nazwy plików i meta-znaków powłoki (np. takie jak !, $, *, ? itp.), umieszczone w nich mogą spowodować dziwne i kłopotliwe zachowanie. Ukośnik (/), czy jakikolwiek inny znak, który może zostać zinterpretowany przez czyjś system plików (\, $, [, ]), jest szczególnie niebezpieczny (terminfo jest niezależne od platformy, więc wybór nazwy zawierającej znaki specjalne może któregoś dnia spowodować pewne problemy dla przyszłych użytkowników). Znak kropki (.) jest względnie bezpieczny o ile występuje co najwyżej jedna w nazwie głównej; niektóre starsze nazwy terminfo wykorzystują ją.

Nazwa główna terminala lub typu konsoli stacji roboczej powinna prawie zawsze zaczynać się od przedrostka sprzedawcy (np. hp dla Hewlett-Packard, wy dla Wyse, czy att dla terminali AT&T), lub popularną nazwą linii terminala (vt dla terminali typu VT od DEC-a, czy sun dla konsoli stacji roboczych Suna lub regent dla modeli ADDS Regent). Można wypisać drzewo terminfo aby zobaczyć jakie przedrostki są już w powszechnym użyciu. Po nazwie głównej powinien znajdować się, jeśli to potrzebne, numer modelu; a więc vt100, hp2621, wy50.

Nazwą główną dla konsoli typu PC-Unix powinna być nazwa systemu operacyjnego np. linux, bsdos, freebsd, netbsd. Nie powinna to być nazwa typu console czy jakakolwiek inna ogólna nazwa która może spowodować zamieszanie w środowisku o wielu platformach. Jeśli później następuje numer modelu, powinien wskazywać albo numer wersji systemu operacyjnego lub numer wersji sterownika konsoli.

Nazwą główna dla emulatora terminala (zakładając że nie pasuje do któregoś ze standardu ANSI lub typu vt100) powinna być nazwa programu lub z łatwością rozpoznawalny skrót (np. versaterm, ctrm).

Po nazwie głównej, można dodać dowolną, lecz rozsądną, ilość rozdzielonych łącznikiem przyrostków określających specjalne właściwości.

2p  Ma dwie strony pamięci. Podobnie 4p, 8p, itd.

mc  Magic-cookie. Niektóre terminale (szczególnie starsze Wyse) mogą obsługiwaćjedynie jeden atrybut bez utraty magic-cookie. Ich definicja w terminfo zazwyczaj jest sparowana z inną (która posiada ten przyrostek) aby wspierać dużą ilość atrybutów.

-am Włącza auto-margines (prawostronne zawijanie)

-m  Tryb mono - wyłączenie obsługi kolorów

-na Bez strzałek - termcap ignoruje strzałki które w rzeczywistości są na terminalu, więc użytkownik może używać ich lokalnie.

-nam
    Bez auto-marginesu - Wyłącza opcję am

-nl Bez etykiet - wyłącza miękkie etykiety

-nsl
    Bez linii statusu - likwiduje linię statusu

-pp Ma port drukarki który jest używany

-rv Terminal w odwróconym trybie video (czarny na białym)

-s  Używa linii statusu.

-vb Używa widzialnego dzwonka (błysk) a nie krótkiego dźwięku.

-w  Wide; terminal is in 132-column mode.

Conventionally, if your terminal type is a variant intended to specify a line height, that suffix should go first. So, for a hypothetical FuBarCo model 2317 terminal in 30-line mode with reverse video, best form would be fubar-30-rv (rather than, say, “fubar-rv-30”).

Typy terminali, które nie są opisane jako samodzielne sekcje, a raczej jako składniki do dołączenia do innych sekcji poprzez use, są rozróżniane poprzez użycie znaków plus (+) a nie minus (-).

Komendy, które używają typu terminala aby kontrolować wyświetlanie często akceptują opcję -T, która pozwala podać typ terminala jako argument. Takie programy powinny skorzystać ze zmiennej środowiskowej TERM kiedy opcja -T jest nie podana.

PRZENOŚNOŚĆ
Dla maksymalnej kompatybilności ze starszymi Uniksami System V, nazwy i aliasy powinny być unikalne w pierwszych 14 znakach.

PLIKI

/etc/terminfo/?/*
    compiled terminal capability database

/etc/inittab
    inicjalizacja linii tty (Uniksy podobne do AT&T).

/etc/ttys
    inicjalizacja linii tty (Uniksy podobne do BSD).

ZOBACZ TAKŻE
ncurses(3NCURSES), terminfo(5), term(5).

T◈UMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Marcin Mazurek <mazek@capella.ae.poznan.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.