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.
Jeśli używana jest linia telefoniczna, to typ urządzenia
dołączonego do niej może być różny. Starsze
systemy UNIX-owe ustawiają początkowo bardzo prosty typ terminala
np. "dumb" lub "dialup". Nowsze mogą używać
terminala `vt100', odzwierciedlając rozpowszechnienie terminali DEC-a
VT100-kompatybilnych i emulatorów z komputerów osobistych.
Nowoczesne telnety przekazują zmienną środowiskową
TERM z lokalnego systemu do odległego. Mogą
wystąpić problemy jeżeli terminfo lub termcap na odległym
systemie nie zawiera definicji terminala kompatybilnej z
bieżącą, ale ta sytuacja jest rzadka i może być
prawie zawsze uniknięta przez ustawienie typu terminala na `vt100'
(zakładając, że rzeczywiście używana jest podobna do
VT100 konsola, terminal, lub emulatora terminala).
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).
Pierwsza linia
terminfo(5) opisuje nazwy, pod którymi terminfo
rozpoznaje terminal, nazwy przedzielone są znakami "|", a
ostatnia zakończona jest przecinkiem. Pierwsza nazwa jest podstawową
nazwą terminala (
primary name), i powinna być używana
przy ustawianiu zmiennej
TERM. Ostatnia nazwa jest w
rzeczywistości opisem typu terminala (może zawierać spacje;
inne muszą być pojedynczymi słowami). Nazwy pomiędzy
pierwszą, a ostatnią (o ile istnieją) są aliasami nazwy
terminala i zazwyczaj przechowywane są tam dawne nazwy terminala dla
kompatybilności.
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
- Szeroki; terminal jest w 132 kolumnowym trybie.
Standardowo, jeśli typ używanego terminala jest jednym z
wariantów, który ma za zadanie określić liczbę linii,
przyrostek powinien znaleźć się tam pierwszy. Dla
hipotetycznego terminala FuBarCo model 2317 w 30-liniowym trybie z odwrotnym
wyświetlaniem (reverse video), lepszą nazwą byłaby
fubar-30-rv (niż np. "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/?/*
- skompilowane pliki zawierające opisy terminali
- /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 man
są: Marcin Mazurek (PTM) <mazek@capella.ae.poznan.pl> i Michał
Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl;
uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją
5.9 oryginału.