Come posso elencare i nomi dei colori disponibili?


23

Sto cercando di aggiungere un po 'di colore alla mia configurazione git e voglio sapere quali nomi di colori sono disponibili sul terminale.

  • Voglio solo usare i colori per nome, quindi è più facile da capire per gli altri
  • Non voglio aggiungere nuovi colori, voglio solo selezionare tra i nomi predefiniti
  • Vorrei una soluzione che funzioni per tutte le distribuzioni, ma principalmente per Debian
  • Sarebbe bello vedere il colore che indica il nome

Molti riferimenti online spesso parlano di nomi di colori che non sono definiti sul mio sistema, quindi ho solo bisogno di un modo per vedere quali sono le mie opzioni predefinite.


Questo è stato un utile riferimento. Mi piacciono gli script della shell. misc.flogisoft.com/bash/…
doub1ejack

Risposte:


25

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. 0xff8800O #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, gitnon è 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 $TERMvariabile 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:

tabella dei colori xterm

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.


Spiacenti, l'elenco X11 potrebbe essere stato fuorviante. Non mi interessa nessun tipo di interfaccia grafica, ma solo i colori disponibili sul terminale.
doub1ejack,

Beh, il gioco è fatto. Presumendo un normale hardware, qualsiasi terminale che incontri su Linux ha 16 colori, otto sopra ciascuno con una versione "brillante / audace" secondo lo standard ANSI (anche se, ad esempio, di solito solo il giallo brillante sembra giallo; quello normale sembra ocra, eccetera). Quindi WRT da usare, puoi usarli 8. Il mio punto era che non puoi usare qualsiasi colore che vedi sullo schermo. L'interfaccia del terminale è una limitazione. Otto colori di base. È tutto.
Riccioli d'oro,

2
@ doub1ejack: indovina? Ho notato ieri che esiste uno standard per la denominazione dei colori sui terminali a 256 colori e ci sono alcune app TUI che lo usano, anche se non ho controllato git. Comunque, ho modificato alcune cose su questo.
Riccioli d'oro

Penso che ci siano solo 8 colori e 8 versioni luminose. Dire che sono 16 colori non è tecnicamente corretto?
Jiggunjer,

1
Stavo leggendo questa risposta, aspettando di arrivare al come. Ero quasi arrivato e la risposta si interruppe.
ctrl-alt-delor
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.