term(7) Miscellaneous Information Manual term(7) NAZWA term - zasady nazywania typow terminali OPIS Zmienna srodowiskowa TERM powinna standardowo zawierac nazwe typu terminala, konsoli lub urzadzenia wyswietlajacego, ktory jest uzywany. Informacja ta jest niezbedna dla wszystkich programow wyswietlajacych wyniki na ekranie, wlaczajac w to edytor czy program pocztowy. Standardowa wartosc zmiennej TERM bedzie ustawiona poprzez inicjalizacje 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 mikrokomputerow. Jesli uzywana jest linia telefoniczna, to typ urzadzenia dolaczonego do niej moze byc rozny. Starsze systemy UNIX-owe ustawiaja poczatkowo bardzo prosty typ terminala np. "dumb" lub "dialup". Nowsze moga uzywac terminala "vt100", odzwierciedlajac rozpowszechnienie terminali DEC-a VT100-kompatybilnych i emulatorow z komputerow osobistych. Nowoczesne telnety przekazuja zmienna srodowiskowa TERM z lokalnego systemu do odleglego. Moga wystapic problemy jezeli terminfo lub termcap na odleglym systemie nie zawiera definicji terminala kompatybilnej z biezaca, ale ta sytuacja jest rzadka i moze byc prawie zawsze uniknieta przez ustawienie typu terminala na "vt100" (zakladajac, ze rzeczywiscie uzywana jest podobna do VT100 konsola, terminal, lub emulatora terminala). W kazdym razie, mozna dowolnie zmieniac zmienna TERM ustawiona przez system na dowolna wartosc w profilu powloki. Program tset(1) moze byc w tym pomocny; mozna mu podac zbior regul aby wydedukowal lub zazadal podania typu terminala bazujac na urzadzeniu tty i predkosci przesylu danych (baud rate). Ustawienie zmiennej TERM wlasna wartoscia moze byc takze uzyteczne jesli stworzono wlasna definicje terminala wlaczajac opcje (takie jak widzialny dzwonek (czyli blysniecie ekranu lub podswietlenie) ktore maja zamienic standardowe ustawienia systemu. Opisy typow terminali sa przechowywane jako pliki zawierajace dane opisujace ich mozliwosci w katalogu /usr/share/terminfo. Aby przejrzec liste wszystkich nazw terminali rozpoznawanych przez system, prosze wykonac toe | more z poziomu powloki. Pliki te, opisujace mozliwosci terminali sa przechowywane w formacie binarnym aby zapewnic optymalna predkosc dostepu do nich (odwrotnie niz w przypadku starego bazujacego na tekscie pliku termcap, ktory zastepuja); aby sprawdzic jedna z pozycji nalezy uzyc polecenia infocmp(1M). Wywolac mozna go nastepujaco: infocmp nazwa gdzie nazwa jest nazwa typu terminala, ktory ma byc sprawdzony (i zarazem nazwa pliku w podkatalogu /usr/share/terminfo nazwanym od pierwszej litery typu terminala). Komenda ta wyswietla plik z opisem terminala w formacie tekstowym opisanym przez terminfo(5). Pierwsza linia terminfo(5) opisuje nazwy, pod ktorymi terminfo rozpoznaje terminal, nazwy przedzielone sa znakami "|", a ostatnia zakonczona jest przecinkiem. Pierwsza nazwa jest podstawowa nazwa terminala (primary name), i powinna byc uzywana przy ustawianiu zmiennej TERM. Ostatnia nazwa jest w rzeczywistosci opisem typu terminala (moze zawierac spacje; inne musza byc pojedynczymi slowami). Nazwy pomiedzy pierwsza, a ostatnia (o ile istnieja) sa aliasami nazwy terminala i zazwyczaj przechowywane sa tam dawne nazwy terminala dla kompatybilnosci. Istnieja pewne konwencje jak dobierac podstawowe nazwy terminala, ktore pozwalaja aby byly unikalne, a zarazem niosly w sobie pewna informacje. Ponizej zamieszczony jest przewodnik, ktory krok po kroku wyjasnia jak nazywac a takze jak je rozumiec: Najpierw prosze wybrac glowna nazwe. Powinna sie ona skladac z malej litery i nastepujacych po niej do siedmiu malych liter badz cyfr. Powinno sie unikac uzywania znakow przestankowych w glownych nazwach, poniewaz sa one uzywane i interpretowane jako nazwy plikow i meta-znakow powloki (np. takie jak !, $, *, ? itp.), umieszczone w nich moga spowodowac dziwne i klopotliwe zachowanie. Ukosnik (/), czy jakikolwiek inny znak, ktory moze zostac zinterpretowany przez czyjs system plikow (\, $, [, ]), jest szczegolnie niebezpieczny (terminfo jest niezalezne od platformy, wiec wybor nazwy zawierajacej znaki specjalne moze ktoregos dnia spowodowac pewne problemy dla przyszlych uzytkownikow). Znak kropki (.) jest wzglednie bezpieczny o ile wystepuje co najwyzej jedna w nazwie glownej; niektore starsze nazwy terminfo wykorzystuja ja. Nazwa glowna terminala lub typu konsoli stacji roboczej powinna prawie zawsze zaczynac sie od przedrostka sprzedawcy (np. hp dla Hewlett-Packard, wy dla Wyse, czy att dla terminali AT&T), lub popularna nazwa linii terminala (vt dla terminali typu VT od DEC-a, czy sun dla konsoli stacji roboczych Suna lub regent dla modeli ADDS Regent). Mozna wypisac drzewo terminfo aby zobaczyc jakie przedrostki sa juz w powszechnym uzyciu. Po nazwie glownej powinien znajdowac sie, jesli to potrzebne, numer modelu; a wiec vt100, hp2621, wy50. Nazwa glowna dla konsoli typu PC-Unix powinna byc nazwa systemu operacyjnego np. linux, bsdos, freebsd, netbsd. Nie powinna to byc nazwa typu console czy jakakolwiek inna ogolna nazwa ktora moze spowodowac zamieszanie w srodowisku o wielu platformach. Jesli pozniej nastepuje numer modelu, powinien wskazywac albo numer wersji systemu operacyjnego lub numer wersji sterownika konsoli. Nazwa glowna dla emulatora terminala (zakladajac ze nie pasuje do ktoregos ze standardu ANSI lub typu vt100) powinna byc nazwa programu lub z latwoscia rozpoznawalny skrot (np. versaterm, ctrm). Po nazwie glownej, mozna dodac dowolna, lecz rozsadna, ilosc rozdzielonych lacznikiem przyrostkow okreslajacych specjalne wlasciwosci. 2p Ma dwie strony pamieci. Podobnie 4p, 8p, itd. mc Magic-cookie. Niektore terminale (szczegolnie starsze Wyse) moga obslugiwac jedynie jeden atrybut bez utraty magic-cookie. Ich definicja w terminfo zazwyczaj jest sparowana z inna (ktora posiada ten przyrostek) aby wspierac duza ilosc atrybutow. -am Wlacza auto-margines (prawostronne zawijanie) -m Tryb mono - wylaczenie obslugi kolorow -na Bez strzalek - termcap ignoruje strzalki ktore w rzeczywistosci sa na terminalu, wiec uzytkownik moze uzywac ich lokalnie. -nam Bez auto-marginesu - Wylacza opcje am -nl Bez etykiet - wylacza miekkie etykiety -nsl Bez linii statusu - likwiduje linie statusu -pp Ma port drukarki ktory jest uzywany -rv Terminal w odwroconym trybie video (czarny na bialym) -s Uzywa linii statusu. -vb Uzywa widzialnego dzwonka (blysk) a nie krotkiego dzwieku. -w Szeroki; terminal jest w trybie 132 kolumnowym. Standardowo, jesli typ uzywanego terminala jest jednym z wariantow, ktory ma za zadanie okreslic liczbe linii, przyrostek powinien znalezc sie tam pierwszy. Dla hipotetycznego terminala FuBarCo model 2317 w 30-liniowym trybie z odwrotnym wyswietlaniem (reverse video), lepsza nazwa bylaby fubar-30-rv (niz np. "fubar-rv-30"). Typy terminali, ktore nie sa opisane jako samodzielne sekcje, a raczej jako skladniki do dolaczenia do innych sekcji poprzez use, sa rozrozniane poprzez uzycie znakow plus (+) a nie minus (-). Komendy, ktore uzywaja typu terminala aby kontrolowac wyswietlanie czesto akceptuja opcje -T, ktora pozwala podac typ terminala jako argument. Takie programy powinny skorzystac ze zmiennej srodowiskowej TERM kiedy opcja -T jest nie podana. PRZENOSNOSC Dla maksymalnej kompatybilnosci ze starszymi Uniksami System V, nazwy i aliasy powinny byc unikalne w pierwszych 14 znakach. PLIKI /usr/share/terminfo/?/* skompilowane pliki zawierajace opisy terminali /etc/inittab inicjalizacja linii tty (Uniksy podobne do AT&T). /etc/ttys inicjalizacja linii tty (Uniksy podobne do BSD). ZOBACZ TAKZE curses(3X), terminfo(5), term(5). TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Marcin Mazurek i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . term(7)