web analytics

[Guida] PyWal: adattare i colori del terminale allo sfondo del desktop

terminal

Nell’articolo di oggi vi parlo della personalizzazione del terminale. In particolare, l’emulatore che utilizzerò è GNOME Terminal, il quale è presente di default nelle principali distribuzioni GNU/Linux. Dopo una breve panoramica sulla personalizzazione manuale, vi spiegherò poi come funziona PyWal, un tool open source per adattare i colori del terminale allo sfondo utilizzato.

GNOME Terminal e i profili custom

Quando modificate i colori del terminale, vi consiglio come primo step di creare sempre un profilo specifico per testare le vostre personalizzazioni. In questo modo, nel caso in cui smanettando con le configurazioni di GNOME Terminal arriviate ad uno scenario illeggibile, potrete sempre tornare rapidamente al profilo standard, senza troppa fatica. Andate quindi in Preferenze, dal menù Modifica o dal sandwich button e, dalla scheda Profili, aggiungetene uno nuovo rinominandolo a vostro piacimento.

gnome terminal custom panel

Dal menu Terminale, o da quello a scomparsa accessibile dalla freccia presente in alto a sinistra, potete ora scegliere facilmente quale profilo attivare. Sempre da questa schermata, inoltre, noterete la presenza di varie schede con cui andare a modificare l’aspetto del terminale, tramite GUI.

La variabile PS1

Esiste anche un’altra strada per personalizzare l’aspetto del terminale, ed è tramite la variabile d’ambiente PS1. Per visualizzare il valore attualmente assegnato alla variabile, utilizzate il comando echo $PS1 che vi restituirà un output analogo al seguente:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

In particolare:

  • \e … m indicano l’avvio e la chiusura della sequenza relativa al colore del terminale;
  • \u indica lo username;
  • \h l’hostname;
  • \w la directory di base;
  • \a la directory corrente;
  • $ indica l’user non root.

Potete apportare le modifiche che preferite, tenendo conto della seguente codifica dei valori:

  • 0,1,3,4 indicano testo normale, grassetto, corsivo e sottolineato;
  • 40-47 è il range per i colori di sfondo;
  • 30-37 è il range per i colori del testo.

basrch ps1 variable

Provate, ad esempio, ad eseguire questa istruzione:

PS1="\e[44;1;30m[\u@\h:\w\a\$]"

Giocando con questi parametri, dopo aver trovato la combinazione che vi soddisfa, per rendere persistente la configurazione dovete modificare il file ~/.bashrc, editando la riga di codice evidenziata nello screenshot precedente.

Proviamo Pywal

Pywal è un tool open source che genera una tavolozza di colori partendo da un’immagine, nel nostro caso quella usata come sfondo del desktop. Quindi lo utilizzeremo per personalizzare l’aspetto del terminale in modo che sia congruo con lo sfondo che abbiamo impostato.. Per installare questo tool utilizzate le seguenti direttive:

sudo apt install python3-pip
sudo pip3 install pywal
gnome terminal linux mint open source pywal
Schema di colori prima di avviare PyWal.

Utilizzarlo è semplicissimo, attraverso il comando wal -i, seguito dall’indirizzo del file che utilizzate come sfondo, consente di applicare i nuovi colori al terminale:

wal -i /patch/sfondo.png
gnome terminal pywal open source
Nuovo schema di colori del terminale.

Per rendere poi persistente il cambiamento aggiungete, al file .bashrc, le seguenti righe di codice:

# Import colorscheme from 'wal' asynchronously
# &   # Run the process in the background.
# ( ) # Hide shell job control messages.
(cat ~/.cache/wal/sequences &)

# Alternative (blocks terminal for 0-3ms)
cat ~/.cache/wal/sequences

# To add support for TTYs this line can be optionally added.
source ~/.cache/wal/colors-tty.sh

pywal reboot persistant open source
Aggiungete, infine, un nuovo programma automatico all’avvio del sistema contenente l’istruzione wal -R. In tal modo il cambiamento sarà persistente non solo tra nuove sessioni del terminale, ma anche dopo il riavvio del computer. Per maggiori informazioni, vi rimando alla pagina ufficiale del progetto.

sharing-caring-1Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.