term - zasady nazywania typów terminali
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.
Dla maksymalnej kompatybilności ze starszymi Uniksami System V, nazwy i
aliasy powinny być unikalne w pierwszych 14 znakach.
- /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).
ncurses(3NCURSES),
terminfo(5),
term(5).
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Marcin Mazurek <
[email protected]> i Michał
Kułach <
[email protected]>
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 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]