¿Cómo puedo enumerar los nombres de colores disponibles?

23

Estoy tratando de agregar un poco de color a mi configuración de git y quiero saber qué nombres de colores están disponibles en el terminal.

  • Solo quiero usar colores por nombre para que otros puedan entenderlo más fácilmente
  • No quiero agregar ningún color nuevo, solo quiero seleccionar entre los nombres predefinidos
  • Me gustaría una solución que funcione para todas las distribuciones, pero principalmente Debian
  • Sería bueno ver el color que indica el nombre

Muchas referencias en línea a menudo hablan de nombres de colores que no están definidos en mi sistema, por lo que solo necesito una forma de ver cuáles son mis opciones predeterminadas.

Duda1
fuente
Esta fue una referencia útil. Me gustan los guiones de shell. misc.flogisoft.com/bash/...
doub1ejack

Respuestas:

25

Muchas referencias en línea a menudo hablan de nombres de colores que no están definidos en mi sistema

Es probable que estén definidos, pero son colores X11; Érase una vez que pudiste encontrarlos /lib[64]/X11/rgb.txt. En cualquier caso, este es un mapeo de cadenas (por ejemplo, dimgray) a colores RGB de 24 bits (por ejemplo , 0xff8800o #ff8800, que sería naranja). Un espacio de 24 bits es ~ 16 millones de colores, obviamente X11 no les da todos los nombres (CSS 3 usa nombres X11, por cierto).

El espacio de 24 bits es utilizado por su GUI; La transparencia se implementa aumentando esto a un espacio de 32 bits. Sin embargo, gitno es una herramienta GUI (G = gráfica), es una herramienta TUI (T = terminal), y está limitada a los colores disponibles en un terminal normal.

Me gustaría una solución que funcione para todas las distribuciones, pero principalmente Debian

Si desea que esto sea correctamente portátil, debe confiar solo en los ocho colores ANSI estándar :

  • negro
  • azul
  • verde
  • amarillo
  • cian
  • blanco
  • magenta
  • rojo

Un poco decepcionante al lado de la lista X11, ¡pero mejor que nada! También tienen una versión "negrita" o "brillante" que es estándar, con 16 colores, que puede especificar como, por ejemplo, "amarillo brillante" ( o por el contrario, "amarillo oscuro").

La mayoría de los terminales 1 de la GUI tienen 256 colores y algunas aplicaciones de terminal pueden explotar esto. Para probar, primero debe establecer la $TERMvariable de manera adecuada:

export $TERM=xterm-256color

Su emulador de terminal también puede tener una opción de configuración para esto. Los colores bajo el protocolo de color xterm 256 están indexados:

carta de colores xterm

El número de índice está en la esquina inferior izquierda. Observe que el conjunto en la parte inferior de este cuadro (0-15) son los 16 colores ANSI básicos (brillantes y oscuros). Para hacer referencia a uno de estos colores bajo el estándar, use color+ el número de índice, por ejemplo. color40.


1. Un "terminal GUI" es un emulador de terminal que se ejecuta en un contexto GUI, como xterm, el terminal GNOME, etc. Sin embargo, esto no hace que las aplicaciones TUI (como git) se ejecuten en un terminal GUI en aplicaciones GUI. Todavía son aplicaciones TUI y están vinculadas por ese contexto.

encerrada dorada
fuente
Lo sentimos, la lista X11 puede haber sido engañosa. No estoy interesado en ningún tipo de GUI, solo colores disponibles en el terminal.
doub1ejack
Bueno, ahí lo tienes. Suponiendo que el hardware es normal, cualquier terminal que encuentre en Linux tiene 16 colores, los ocho de arriba con una versión "brillante / negrita" según el estándar ANSI (aunque, por ejemplo, generalmente solo el amarillo brillante se ve amarillo; el normal se ve ocre, etc) Entonces WRT para git, puedes usar esos 8. Mi punto es que no puedes usar cualquier color que veas en la pantalla. La interfaz del terminal es una limitación. Ocho colores básicos. Eso es todo.
Ricitos de Oro
2
@ duda1ejack: ¿Adivina qué? Ayer noté que hay un estándar para nombrar colores en terminales de 256 colores, y hay algunas aplicaciones TUI que lo usan, aunque no verifiqué git. De todos modos, he editado algunas cosas sobre esto.
Ricitos
Creo que solo hay 8 colores y 8 versiones brillantes. ¿Decir que son 16 colores no es técnicamente correcto?
jiggunjer
1
Estaba leyendo esta respuesta, esperando hasta llegar al cómo. Estaba casi allí, y la respuesta se detuvo.
ctrl-alt-delor