Cum să schimbați culoarea terminalului Linux

Puteți adăuga culoare terminalului Linux folosind setări speciale de codificare ANSI, fie în mod dinamic într-o comandă de terminal sau în fișierele de configurare, fie puteți folosi teme gata făcute în emulatorul de terminal. În orice caz, textul nostalgic verde sau chihlimbar pe un ecran negru este complet opțional. Acest articol demonstrează cum puteți face ca Linux să fie cât de colorat (sau cât de monocrom) doriți.

Capacități ale terminalului

Sistemele moderne au de obicei ca valoare implicită cel puțin xterm-256color, dar dacă încercați să adăugați culoare terminalului dumneavoastră fără succes, ar trebui să verificați setarea TERM.

În mod istoric, terminalele Unix erau literalmente asta: puncte fizice la punctul final literal (terminație) al unui sistem informatic partajat, unde utilizatorii puteau introduce comenzi. Ele erau unice față de mașinile teletip (motiv pentru care mai avem și astăzi dispozitive /dev/tty în Linux) care erau adesea folosite pentru a emite comenzi de la distanță. Terminalele aveau monitoare CRT încorporate, astfel încât utilizatorii se puteau așeza la un terminal în biroul lor pentru a interacționa direct cu mainframe-ul. Monitoarele CRT erau costisitoare – atât pentru a fi fabricate, cât și pentru a fi controlate; era mai ușor ca un computer să scuipe text ASCII brut decât să se preocupe de anti-aliasing și de alte finețuri pe care informaticienii moderni le consideră de la sine înțelese. Cu toate acestea, evoluțiile în tehnologie se produceau rapid chiar și atunci și a devenit rapid evident că, pe măsură ce erau proiectate noi terminale de afișare video, acestea aveau nevoie de noi capacități care să fie disponibile opțional.

De exemplu, noul și fantezistul VT100 lansat în 1978 suporta culoarea ANSI, astfel încât, dacă un utilizator identifica tipul de terminal ca fiind vt100, atunci un computer putea furniza ieșire color, în timp ce un dispozitiv serial de bază putea să nu aibă o astfel de opțiune. Același principiu se aplică și astăzi și este stabilit de variabila de mediu TERM. Puteți verifica definiția TERM cu echo:

$ echo $TERM
xterm-256color

Fișierul învechit (dar încă menținut pe unele sisteme în interesul compatibilității retroactive) /etc/termcap definea capacitățile terminalelor și imprimantelor. Versiunea modernă a acestuia este terminfo, aflat fie în /etc, fie în /usr/share, în funcție de distribuția dumneavoastră. Aceste fișiere enumeră caracteristicile disponibile în diferite tipuri de terminale, dintre care multe sunt definite de hardware-ul istoric: există definiții pentru vt100 până la vt220, precum și pentru emulatorii software moderni precum xterm și Xfce. Cele mai multe programe software nu se preocupă de tipul de terminal pe care îl utilizați; în cazuri rare, este posibil să primiți un avertisment sau o eroare privind un tip de terminal incorect atunci când vă conectați la un server care verifică caracteristicile compatibile. Dacă terminalul dvs. este setat pe un profil cu foarte puține caracteristici, dar știți că emulatorul pe care îl utilizați este capabil de mai multe, atunci puteți schimba setările prin definirea variabilei de mediu TERM. Puteți face acest lucru exportând variabila TERM în fișierul de configurare ~/.bashrc:

export TERM=xterm-256color

Salvați fișierul și reîncărcați setările:

$ source ~/.bashrc

Coduri de culoare ANSI

Terminalele moderne au moștenit secvențe de evacuare ANSI pentru caracteristicile “meta”. Acestea sunt secvențe speciale de caractere pe care un terminal le interpretează ca acțiuni în loc de caractere. De exemplu, această secvență șterge ecranul până la următorul prompt:

$ printf `3 

Or you can use dircolors directly:

$ dircolors --print-database

# image formats
.jpg 01;35
.jpeg 01;35
.mjpg 01;35
.mjpeg 01;35
.gif 01;35
.bmp 01;35
.pbm 01;35
.tif 01;35
.tiff 01;35

If that looks cryptic, it’s because it is. The first digit after a file type is the attribute code, and it has six options:

  • 00 none
  • 01 bold
  • 04 underscore
  • 05 blink
  • 07 reverse
  • 08 concealed

The next digit is the color code in a simplified form. You can get the color code by taking the final digit of the ANSII code (32 for green foreground, 42 for green background; 31 or 41 for red, and so on).

Your distribution probably sets LS_COLORS globally, so all users on your system inherit the same colors. If you want a customized set of colors, you can use dircolors for that. First, generate a local copy of your color settings:

$ dircolors --print-database > ~/.dircolors

Editați lista locală după cum doriți. Când sunteți mulțumit de alegerile dumneavoastră, salvați fișierul. Setările dvs. de culori sunt doar o bază de date și nu pot fi folosite direct de ls, dar puteți folosi dircolors pentru a obține shellcode pe care îl puteți folosi pentru a seta LS_COLORS:

$ dircolors --bourne-shell ~/.dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:
pi=40;33:so=01;35:do=01;35:bd=40;33;01:
cd=40;33;01:or=40;31;01:mi=00:su=37;41:
sg=30;43:ca=30;41:tw=30;42:ow=34;

export LS_COLORS

Copiați și lipiți această ieșire în fișierul dvs. ~/.bashrc și reîncărcați. Alternativ, puteți să aruncați această ieșire direct în fișierul .bashrc și să reîncărcați.

$ dircolors --bourne-shell ~/.dircolors >> ~/.bashrc
$ source ~/.bashrc

De asemenea, puteți face ca Bash să rezolve .dircolors la lansare în loc să faceți conversia manual. În mod realist, probabil că nu veți schimba des culorile, așa că acest lucru poate fi prea agresiv, dar este o opțiune dacă intenționați să vă schimbați mult schema de culori. În fișierul dvs. .bashrc, adăugați această regulă:

] && eval "`dircolors --sh $HOME/.dircolors`"

Dacă aveți un fișier .dircolors în directorul dvs. personal, Bash îl evaluează la lansare și setează LS_COLORS în mod corespunzător.

Color

Corele din terminalul dvs. sunt o modalitate ușoară de a vă oferi o referință vizuală rapidă pentru informații specifice. Cu toate acestea, este posibil să nu doriți să vă sprijiniți prea mult pe ele. La urma urmei, culorile nu sunt universale, așa că, dacă altcineva utilizează sistemul dvs., s-ar putea să nu vadă culorile la fel ca dvs. Mai mult decât atât, dacă folosiți o varietate de instrumente pentru a interacționa cu computerele, s-ar putea, de asemenea, să constatați că unele terminale sau conexiuni la distanță nu oferă culorile la care vă așteptați (sau culorile deloc).

Aceste avertismente lăsând la o parte, culorile pot fi utile și distractive în unele fluxuri de lucru, așa că creați o bază de date .dircolor și personalizați-o după bunul plac.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.