Aprendí que puedo cambiar el formato de PS1, especialmente el color de la cadena. Entonces, ¿es posible cambiar el color según el color de fondo del caparazón? O, ¿cómo puedo detectar el color de fondo del caparazón?
12
Hasta donde sé, no hay forma de consultar los colores del emulador de terminal. Puede cambiarlos con \e]4;NUMBER;#RRGGBB\a
(donde NUMBER
está el número de color del terminal (0–7 para colores claros, 8–15 para colores brillantes) y #RRGGBB
es un valor de color RGB hexadecimal) si su terminal admite esa secuencia (referencia: ctlseqs ).
Los potentes mecanismos de combinación de colores a menudo tienen una configuración de fondo oscuro o claro que debe proporcionar para indicar si tiene un fondo negro o gris oscuro, o un fondo blanco o gris claro.
Cuando configura por sí mismo, generalmente es suficiente para decidir que siempre usará el mismo color de fondo.
TERM
y, por lo tanto, no pueden ser obtenido del medio ambiente.Si está utilizando gnome-terminal, puede obtener el color de fondo para cualquier perfil, en este caso para el perfil predeterminado como
entonces puede decidir cómo configurar su solicitud en consecuencia.
fuente
Con xterm, puede consultar el color de fondo con la
\e]11;?\a
secuencia de escape. Debe leer la respuesta desde la terminal. Hay unxtermcontrol
comando que hace eso por ti:fuente