Personalizzare l'aspetto di Xterm

Versione del 19 set 2011 alle 16:29 di S3v (discussione | contributi) (modifiche minori)
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Xterm è l'emulatore di terminale predefinito del X Window System e, a differenza degli emulatori di terminali facenti parti dei principali DE (Konsole in KDE, GNOME Terminal in Gnome e Terminal in Xfce), è caratterizzato da un minore impiego di risorse e una maggiore leggerezza in termini di spazio occupato su disco (grazie anche al fatto che non necessita del gran numero di librerie grafiche richieste dai terminali su citati). Insomma Xterm fa una cosa alla volta (niente tab, niente trasparenze, niente orpelli) e la fa bene, con poco spreco di risorse: in pieno rispetto della filosofia UNIX.

Tuttavia, alle volte, l'aspetto davvero spartano di Xterm può non piacere o -più semplicemente- può essere necessario qualche aggiustamento relativo alla grandezza dei caratteri o al colore dello sfondo: per modificare a proprio gusto e secondo le proprie necessità l'aspetto di Xterm si possono seguire varie strade, che cercherò di illustrare in questa guida. Qualsiasi correzione, suggerimento o aggiunta è, come sempre, gradita.

Modifiche al volo: i menù di Xterm

La prima cosa che balza agli occhi, almeno ai miei, quando si lancia Xterm è la grandezza di default dei caratteri: non arriverò a dire che è illeggibile (perché a dire il vero esiste - e si può abilitare - l'opzione unreadable che è realmente illeggibile) ma è davvero troppo piccola per chi debba stare a lungo davanti al computer.

Una soluzione molto rapida, in questo caso, consiste nel modificare la grandezza dei caratteri attraverso il menù che compare premendo contemporaneamente CTRL+ tasto destro del mouse: potrete scegliere la grandezza desiderata e questa verrà mantenuta solo in quella finestra e per quella sessione.

Altre opzioni sono disponibili nei menù che appaiono con CTRL+ tasto sinistro e CTRL+ tasto centrale del mouse.

Modifiche al volo: opzioni da riga di comando

Un modo lievemente più articolato di modificare l'aspetto di Xterm consiste nel lanciarlo da riga comando specificando, mediante le opzioni opportune, i valori desiderati relativi a tipo e dimensione dei font e ai colori di sfondo e di primo piano.

Le opzioni che possono essere specificate da riga di comando sono davvero tantissime (digitate man xterm se non ci credete!) ma le più utili nel caso specifico sono sicuramente quelle che riguardano:

  • grandezza e tipo di carattere: per sceglierlo possiamo affidarci ad xfontsel, un'applicazione assai utile che mostra le anteprime dei font installati. Basterà lanciarla da terminale:
$ xfontsel 

e scegliere il font che preferite; a questo punto potete copiare il codice corretto da passare a Xterm tramite l'opzione -font , ad esempio (per il font fixed):

-*-fixed-medium-r-*-*-18-*-*-*-*-*-iso8859-* 

Dunque per impostare il font fixed con una grandezza medium basterà invocare Xterm nel modo seguente:

$ xterm -font -*-fixed-medium-r-*-*-18-*-*-*-*-*-iso8859-* 
  ATTENZIONE
non tutti i font dispongono dell'intero set di caratteri necessari per supportare la codifica UTF-8. Verificate sempre che il font da voi supporti anche tale codifica, e presenti il corretto charset, altrimenti rischiate di non visualizzare correttamente le lettere accentate!


  • colore di primo piano e colore dello sfondo:
  1. il colore di primo piano (foreground color), ovvero il colore dei caratteri, può essere definito da riga di comando attraverso l'opzione -fg color;
  2. il colore dello sfondo (background color) si definisce invece tramite l'opzione -bg color.
In entrambi i casi, color può essere il nome o il codice di uno dei colori specificati in /usr/lib/X11/rgb.txt.
Per avere un'idea della tavolozza dei colori disponibili potete fare riferimento a questa pagina.

Modifiche permanenti: agire sul file di configurazione

Se però avete intenzione di rendere permanenti le modifiche all'aspetto di Xterm, e non essere costretti ogni volta a invocare il programma con determinate opzioni da riga di comando, il modo migliore di agire è indubbiamente quello di personalizzare l'aspetto di Xterm agendo su un file di configurazione.

Le opzioni hanno una sintassi specifica, le maiuscole vanno rispettate.
Il nome dell'applicazione si può trovare in /etc/X11/app-defaults/, in questo caso è XTerm.
Per approfondimenti si veda:

$ man X | less -p RESOURCES

Il file .Xresources (un tempo chiamato .Xdefaults, funziona in entrambi i modi) nella home dell'utente serve a personalizzare le applicazioni correlate al server X che usano Xaw (Athena widget set); sono tutte quelle generalmente meno usate in un ambiente Desktop tradizionale: xmessage, xclock, xclipboard, xfontsel, xcalc e così via. E ovviamente il nostro amato Xterm.
Ecco alcune opzioni per ottenere un terminale funzionale e leggibile, le righe sono commentate con il punto esclamativo, il file è così pronto all'uso semplicemente copiando il testo.

! ~/.Xresources

!colore di sfondo
 XTerm*background: black


!colore del testo
 XTerm*foreground: grey85


!colore del cursore
 XTerm*cursorColor: darkorange1


!niente barra di scorrimento
 XTerm*scrollBar: false


!dimensione predefinita
 XTerm*geometry: 85x25


!modalità UTF-8 permanente
 XTterm*utf8: 2


!font TrueType con antialiasing
 XTerm*faceName: xft:Dejavu Sans Mono:pixelsize=13


!xfont:
 !XTerm*font: -*-terminus-medium-*-*-*-15-*-*-*-*-*-*-*


!numero di linee da mantenere nello scrollbuffer
 XTerm*saveLines: 3333


!le combinazioni di tasti con Meta (Alt) vengono convertite in una sequenza ad 8-bit,
!necessario affinché ad esempio si possa usare alt-numero per spostarsi tra le finestre in irssi
 XTerm*metaSendsEscape: true


!seleziona solo il testo di una riga, omettendo gli spazi vuoti
 XTerm*highlightSelection: true


!in combinazione con l'opzione precedente tenta di 
!rimuovere gli spazi in eccesso a inizio e fine riga
 XTerm*trimSelection: true


!il triplo click per selezionare una riga non include il Newline
!(\n, la sequenza che manda a capo la riga, si veda man echo) alla fine
 XTerm*cutNewline: false


!abilita e specifica un attributo colore per il testo in grassetto
 XTerm*colorBDMode: true
 XTerm*colorBD: khaki


!abilita e specifica un attributo colore per il testo sottolineato
 XTerm*colorULMode: true
 XTerm*colorUL: tomato


!i caratteri da includere nella selezione del testo con il doppio click
!sono gruppi di numeri nella forma codice:valore e divisi da una virgola,
!il 48 è arbitrario ma il manuale lo usa come esempio e ci affidiamo a questo valore
!per aggiungere e modificare usare quindi la forma codice:48,
!vedere man xterm | less -p 'CHARACTER CLASSES' per la tabella di riferimento
!prendendo ad esempio il primo gruppo 33:48, 33 equivale al punto esclamativo
 XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48,35:48,58:48,63:48,61:48,44:48,38:48,59:48


!colori personalizzati per il testo usati in vari programmi
!da 0 a 7 per il testo normale, da 8 a 15 per il grassetto

!black
 XTerm*color0:	#171717
 XTerm*color8:	#737373
!red
 XTerm*color1:	#FF2B2B
 XTerm*color9:	#FF4545
!green
 XTerm*color2:	#9CE82B
 XTerm*color10:	#9ACD32
!yellow
 XTerm*color3:	#F0E68C
 XTerm*color11:	#F0E68C
!blue
 XTerm*color4:	#0062FF
 XTerm*color12:	#4B91F2
!magenta
 XTerm*color5:	#E167FF
 XTerm*color13:	#FF8BFF
!cyan
 XTerm*color6:	#87CEEB
 XTerm*color14:	#45DDFF
!white
 XTerm*color7:	#DCDCCC
 XTerm*color15:	#FFFFFF

Ogni modifica al file di configurazione va resa attiva con:

$ xrdb $HOME/.Xresources

Ci sono tante opzioni, il manuale è infinito nonché affascinante. Altri spunti si possono trovare qui: