De cele mai multe ori, distribuțiile Linux folosesc un prompter clasic în terminal, afișând numele de utilizator, hostname-ul și directorul curent. După un timp, parcă te plictisești să vezi de fiecare dată același lucru, așa că-ți vine să schimbi și să personalizezi promptul Linux.
Prompterul este controlat prin intermediul unei variabile shell speciale, PS1.
Pentru a afișa valoarea actuală a variabilei dați comanda:
echo $PS1
La ieșire veți avea ceva de genul:
[\u@\h \W]\$
Asta înseamnă că este afișat numele de utilizator (\u), caracterul @, hostname-ul (\h), directorul curent (\W) și caracterul $ (sau # pentru root):
[bobsesa@arch ~]$
Dar vreau să fie afișat altceva. Pentru asta trebuie să alocăm o altă valoare variabilei $PS1; se scrie comanda de mai jos cu noul șir de caractere dorit încadrat în ghilimele simple:
export PS1='acesta este noul meu prompt:'
Apăsăm ENTER și în terminal va apărea noul prompter. Dar valoarea nu se menține decât pe durata sesiunii, astfel încât la următoarea inițializare a terminalului vom avea vechiul prompter.
Modificarea permanentă a prompterului
Pentru a modifica permanent valoarea prompterului, trebuie să edităm fișierul .bashrc aflat în directorul home al fiecărui utilizator.
nano .bashrc
Vom comenta linia care definește actualul prompter, punând caracterul # înaintea sa (poate vom dori să revenim la el cândva). Fișierul meu .bashrc arată astfel:
#
# ~/.bashrc
## If not running interactively, don't do anything
[[ $- != *i* ]] && returnalias ls='ls --color=auto'
#PS1='[\u@\h \W]\$ '
PS1="\e[1;33mOrdonă, stăpâne Bobses!> \e[m"export TERM=xterm-256color
if [ -f /usr/bin/screenfetch ]; then screenfetch; fi
command fortune
După salvare cu CTRL+X, dacă redeschidem terminalul va apărea noua valoare setată:
Schimbarea culorilor prompterului
Dacă nu-i spunem nimic, noul prompter va fi afișat cu culoarea temei terminalului. Dar putem să schimbăm și culorile promptului Linux.
Prestabilit, terminalul Linux folosește 8 culori; dați comanda tput colors
pentru a vă convinge.
Pentru a trece de la 8 culori la 256 de culori, vom modifica o altă variabilă d emediu în aceklași fișier .bash.rc (se vede și în exemplul de mai sus):
export TERM=xterm-256color
Acum, comanda tput colors
va avea un alt răspuns:
Mai jos sunt prezentate codurile culorilor (funcționează pe majoritatea terminalelor):
Color | Code |
Black | 0;30 |
Blue | 0;34 |
Green | 0;32 |
Cyan | 0;36 |
Red | 0;31 |
Purple | 0;35 |
Brown | 0;33 |
Light Gray | 0;37 |
Dark Gray | 1;30 |
Light Blue | 1;34 |
Light Green | 1;32 |
Light Cyan | 1;36 |
Light Red | 1;31 |
Light Purple | 1;35 |
Yellow | 1;33 |
White | 1;37 |
Valoarea 1 afișează varianta mai deschisă a culorii respective. Mai multe despre culorile terminalului aici.
Așadar, pentru a adăuga culori promptului Linux:
'\e[x;ym $PS1 \e[m'
Unde:
- \e[ : începe o schemă de culoare
- x;y : perechea de numere care corespunde unei culor (x;y)
- $PS1 : variabila promptului
- \e[m : încheie schema culorii
Puteți să vă jucați și să afișați fiecare cuvânt al prompterului Linux în culori diferite.
[…] vrem să schimbăm promptul în linia de comandă, trebuie să edităm variabila $PS1 – am scris aici cum se poate face […]