term(7) Diverse term(7)

term - convenții pentru numirea tipurilor de terminal

Variabila de mediu TERM trebuie să conțină în mod normal numele tipului de terminal, consolă sau dispozitiv de afișare pe care îl utilizați. Aceste informații sunt esențiale pentru toate programele orientate spre ecran, inclusiv pentru editorul și programul de corespondență.

O valoare implicită TERM va fi definită pentru fiecare linie în parte fie de /etc/inittab (de exemplu, unitățile de tip System-V), fie de /etc/ttys (unitățile BSD). Acest lucru va fi aproape întotdeauna suficient pentru consolele de stații de lucru și microcalculatoare.

Dacă folosiți o linie dial-up, tipul de dispozitiv atașat la aceasta poate varia. Sistemele Unix mai vechi preconfigurau un tip de terminal foarte prost, cum ar fi „dumb” sau „dialup” pe liniile dial-up. Sistemele mai noi pot preconfigura „vt100”, reflectând prevalența terminalelor compatibile cu DEC VT100 și a emulatoarelor de calculatoare personale.

Telnet-urile moderne transmit variabila de mediu TERM de la partea locală la cea de la distanță. Pot apărea probleme dacă intrarea terminfo sau termcap de la distanță pentru tipul dumneavoastră nu este compatibilă cu a dumneavoastră, dar această situație este rară și poate fi evitată aproape întotdeauna prin exportul explicit al „vt100” (presupunând că folosiți de fapt o consolă, un terminal sau un emulator de terminal VT100).

În orice caz, sunteți liber să modificați configurația sistemului TERM în funcție de gustul dumneavoastră în profilul de shell. Instrumentul tset(1) vă poate fi de ajutor; îi puteți da un set de reguli pentru a deduce sau a solicita un tip de terminal pe baza dispozitivului tty și a vitezei de transmisie.

Definirea propriei valori TERM poate fi, de asemenea, utilă dacă ați creat o intrare personalizată care încorporează opțiuni (cum ar fi soneria vizuală sau video inversat) pe care doriți să le suprascrieți peste tipul implicit al sistemului pentru linia dvs.

Descrierile tipurilor de terminale sunt stocate ca fișiere de date de capacitate sub /usr/share/terminfo. Pentru a răsfoi o listă cu toate numele de terminale recunoscute de sistem, efectuați următoarele operații


toe | more

din shell-ul dvs. Aceste fișiere de capacități sunt într-un format binar optimizat pentru viteza de recuperare (spre deosebire de vechiul format termcap bazat pe text pe care îl înlocuiesc); pentru a examina o intrare, trebuie să utilizați comanda infocmp(1M). Invocați-o după cum urmează:


infocmp nume-intrare

unde nume-intrare este numele tipului pe care doriți să îl examinați (iar numele fișierului de capacități al acestuia este subdirectorul din /usr/share/terminfo denumit după prima literă). Această comandă descarcă un fișier de capacități în formatul text descris de terminfo(5).

Prima linie a unei descrieri terminfo(5) oferă numele prin care terminfo cunoaște un terminal, separate prin caractere „|” (simbolul de conductă), ultimul câmp de nume fiind încheiat cu o virgulă. Primul câmp de nume este numele primar al tipului și este cel care trebuie utilizat atunci când se stabilește TERM. Ultimul câmp de nume (dacă este distinct de primul) este de fapt o descriere a tipului de terminal (poate conține spații libere; celelalte trebuie să fie cuvinte simple). Câmpurile de nume dintre primul și ultimul (dacă sunt prezente) sunt pseudonime pentru terminal, de obicei nume istorice păstrate pentru compatibilitate.

Există câteva convenții pentru alegerea numelor primare ale terminalelor, care ajută la menținerea lor informativă și unică. Iată un ghid pas cu pas pentru numirea terminalelor, care explică, de asemenea, cum să le analizați:

În primul rând, alegeți un nume de bază (rădăcină). Acesta va fi format dintr-o literă minusculă urmată de până la șapte litere minuscule sau cifre. Trebuie să evitați utilizarea caracterelor de punctuație în numele rădăcinii, deoarece acestea sunt utilizate și interpretate ca nume de fișiere, iar metacaracterele de shell (cum ar fi !, $, *, ? etc.) încorporate în ele pot cauza un comportament ciudat și nefolositor. Bara oblică (/), sau orice alt caracter care poate fi interpretat de oricare sistem de fișiere (\, $, [, ]), este deosebit de periculos (terminfo este independent de platformă, iar alegerea unor nume cu caractere speciale ar putea într-o zi să le facă viața grea utilizatorilor unei viitoare adaptări). Caracterul punct (.) este relativ sigur atâta timp cât există cel mult unul pe numele de bază; unele nume terminfo istorice îl folosesc.

Numele de bază pentru un terminal sau un tip de consolă de stație de lucru trebuie să înceapă aproape întotdeauna cu un prefix al furnizorului (cum ar fi hp pentru Hewlett-Packard, wy pentru Wyse sau att pentru terminalele AT&T) sau cu un nume comun al liniei de terminale (vt pentru seria de terminale VT de la DEC, sau sun pentru consolele de stație de lucru Sun Microsystems sau regent pentru seria ADDS Regent. Puteți lista arborele terminfo pentru a vedea ce prefixe sunt deja utilizate în mod obișnuit. Prefixul numelui de bază trebuie să fie urmat, atunci când este cazul, de un număr de model; astfel vt100, hp2621, wy50.

Numele de bază pentru un tip de consolă PC-Unix trebuie să fie numele sistemului de operare, adică linux, bsdos, freebsd, netbsd. Nu ar trebui să fie console sau orice alt nume generic care ar putea crea confuzie într-un mediu multi-platformă! Dacă urmează un număr de model, acesta ar trebui să indice fie nivelul de lansare al sistemului de operare, fie nivelul de lansare al controlorului de consolă.

Numele de bază pentru un emulator de terminal (presupunând că nu se încadrează într-unul dintre tipurile standard ANSI sau vt100) trebuie să fie numele programului sau o abreviere ușor de recunoscut a acestuia (de exemplu, versaterm, ctrm).

După numele de bază, puteți adăuga orice număr rezonabil de sufixe de caracteristici separate prin cratimă.

2p
Are două pagini de memorie. În mod similar 4p, 8p, etc.
Magic-cookie. Unele terminale (în special vechile Wyses) nu pot utiliza decât un singur atribut, fără a pierde din Magic-cookie. Intrarea lor de bază este de obicei asociată cu o alta care are acest sufix și care utilizează magic-cookies pentru a suporta mai multe atribute.
Activează marginea automată (înfășurarea pentru încadrarea în pagină a marginii din dreapta).
Modul monocolor - suprimă suportul pentru culori.
Fără taste săgeată - termcap ignoră tastele săgeată care sunt de fapt prezente pe terminal, astfel încât utilizatorul poate folosi tastele săgeată la nivel local.
Fără margine automată - suprimă capacitatea „-am”.
Fără etichete - suprimă etichetele software.
Fără linie de stare - suprimă linia de stare.
Are un port de imprimantă care este utilizat.
Terminal în modul video invers (negru pe alb).
Activează linia de stare.
Utilizează un clopoțel vizibil (flash) în loc de semnal sonor.
Lat; terminalul este în modul 132 de coloane.

În mod normal, dacă tipul de terminal este o variantă destinată să specifice înălțimea liniei, acest sufix trebuie să fie primul. Astfel, pentru un ipotetic terminal FuBarCo model 2317 în modul 30 de linii cu video inversat, cea mai bună formă ar fi fubar-30-rv (mai degrabă decât, să zicem, „fubar-rv-30”.

Tipurile de terminale care nu sunt scrise ca intrări de sine stătătoare, ci mai degrabă drept componente care urmează să fie conectate la alte intrări prin intermediul capacităților use, se disting prin utilizarea semnelor plus încorporate în loc de liniuțe.

Comenzile care utilizează un tip de terminal pentru a controla afișarea acceptă adesea o opțiune „-T” care acceptă un argument privind numele terminalului. Astfel de programe ar trebui să apeleze la variabila de mediu TERM atunci când nu este specificată opțiunea „-T”.

/usr/share/terminfo
baza de date compilată pentru descrierea terminalelor
/etc/inittab
inițializarea liniei tty (UNIX-uri de tip AT&T)
/etc/ttys
inițializarea liniei tty (UNIX-uri de tip BSD)

Pentru o compatibilitate maximă cu vechile UNIX-uri System V, numele și pseudonimele trebuie să fie unice în primele 14 caractere.

curses(3X), term(5), terminfo(5)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

16 martie 2024 ncurses 6.5