Molti riferimenti online spesso parlano di nomi di colori che non sono definiti sul mio sistema
Quelli probabilmente sono definiti, ma sono colori X11; una volta potresti trovarli /lib[64]/X11/rgb.txt
. In ogni caso, si tratta di una mappatura di stringhe (ad es. dimgray
) A colori RGB a 24 bit (ad es. 0xff8800
O #ff8800
, che sarebbe arancione). Uno spazio a 24 bit è di circa 16 milioni di colori, ovviamente X11 non dà loro tutti i nomi (CSS 3 usa i nomi X11, BTW).
Lo spazio a 24 bit viene utilizzato dalla GUI; la trasparenza viene implementata aumentando questo spazio a 32 bit. Tuttavia, git
non è uno strumento GUI (G = grafico), è uno strumento TUI (T = terminale) ed è limitato ai colori disponibili su un normale terminale.
Vorrei una soluzione che funzioni per tutte le distribuzioni, ma principalmente per Debian
Se vuoi che questo sia correttamente portatile, dovresti fare affidamento solo sugli otto colori ANSI standard :
- nero
- blu
- verde
- giallo
- ciano
- bianca
- magenta
- rosso
Un po 'deludente accanto all'elenco X11, ma meglio di niente! Questi hanno anche una versione "audace" "brillante" che è standard, rendendo 16 colori, che si può essere in grado di specificare come, ad esempio, "brightyellow" ( o viceversa, "darkyellow").
La maggior parte dei terminali 1 della GUI ha un supporto di 256 colori e alcune app di terminale possono sfruttarlo. Per provare, devi prima impostare la $TERM
variabile in modo appropriato:
export $TERM=xterm-256color
L'emulatore di terminale potrebbe anche avere un'opzione di configurazione per questo. I colori con il protocollo colore xterm 256 sono indicizzati:
Il numero indice si trova nell'angolo in basso a sinistra. Si noti che il set nella parte inferiore di questo grafico (0-15) sono i 16 colori ANSI di base (chiari e scuri). Per fare riferimento a uno di questi colori secondo lo standard, si utilizza color
+ il numero indice, ad es. color40
.
1. Un "terminale GUI" è un emulatore di terminale che viene eseguito in un contesto GUI, come xterm, il terminale GNOME, ecc. Tuttavia, ciò non rende le app TUI (come git) in esecuzione in un terminale GUI in app GUI. Sono ancora app TUI e sono vincolate da quel contesto.