Dependendo do seu emulador de terminal, pode ser possível redefinir a cor "branco" no esquema de cores do terminal:
echo -en "\e]PFffffff"
setterm --foreground blue --background white --blink on
Estou usando:
setterm --foreground blue --background white --blink on
O resultado é que o texto é azul em branco brilhante. No entanto, o plano de fundo ao redor do texto é cinza. Como posso tornar todo o fundo branco brilhante?
Dependendo do seu emulador de terminal, pode ser possível redefinir a cor "branco" no esquema de cores do terminal:
echo -en "\e]PFffffff"
setterm --foreground blue --background white --blink on
Depende do terminal. Como regra, você não pode fazer isso usando "ANSI colors", porque (enquanto alguns terminais interpretam o atributo de vídeo em negrito como "cores brilhantes"), não há uma maneira padrão de alterar o brilho do plano de fundo .
Alguns terminais suportam seqüências de escape para alterar a paleta de cores usada pelo terminal independentemente de "cores ANSI". O Xterm faz isso, por exemplo, usando o recurso cores dinâmicas , que permite alterar as cores padrão de primeiro plano e plano de fundo (bem como algumas outras possibilidades, como a cor do cursor). Essas informações estão resumidas na seção Controles do sistema operacional do XTerm Sequências de controle :
OSC Ps ; Pt ST OSC Ps ; Pt BEL Set Text Parameters. For colors and font, if Pt is a "?", the control sequence elicits a response which consists of the con- trol sequence which would set the corresponding value. The dtterm control sequences allow you to determine the icon name and window title. ... The 10 colors (below) which may be set or queried using 1 0 through 1 9 are denoted dynamic colors, since the correspond- ing control sequences were the first means for setting xterm's colors dynamically, i.e., after it was started. They are not the same as the ANSI colors. These controls may be disabled using the allowColorOps resource. At least one parameter is expected for Pt. Each successive parameter changes the next color in the list. The value of Ps tells the starting point in the list. The colors are specified by name or RGB specifi- cation as per XParseColor. ... Ps = 1 0 -> Change VT100 text foreground color to Pt. Ps = 1 1 -> Change VT100 text background color to Pt. Ps = 1 2 -> Change text cursor color to Pt. Ps = 1 3 -> Change mouse foreground color to Pt. Ps = 1 4 -> Change mouse background color to Pt. Ps = 1 5 -> Change Tektronix foreground color to Pt. Ps = 1 6 -> Change Tektronix background color to Pt. Ps = 1 7 -> Change highlight background color to Pt. Ps = 1 8 -> Change Tektronix cursor color to Pt. Ps = 1 9 -> Change highlight foreground color to Pt.
Na falta desse recurso, alguns outros terminais permitem alterar os valores das "cores ANSI". Novamente, no xterm, ainda no conjunto de controles do sistema operacional:
Ps = 4 ; c; spec -> Change Color Number c to the color spec- ified by spec. This can be a name or RGB specification as per XParseColor. Any number of c/spec pairs may be given. The color numbers correspond to the ANSI colors 0-7, their bright versions 8-15, and if supported, the remainder of the 88-color or 256-color table.
Enquanto alguns outros emuladores de terminal podem implementar um ou ambos, como regra, eles não documentam isso. Você teria que experimentar para descobrir se eles funcionam em outros terminais.
Na mesma linha do último (modificar valores na paleta de cores), o console do Linux suporta uma seqüência de controle que pode alterar sua paleta de 16 cores. O Xterm não suporta esse controle porque não segue o padrão de formatação (ECMA-48).
O programa xtermcontrol suporta algumas destas sequências de escape, em particular aquelas para cor dinâmica . Mas você pode criar um script, por exemplo,
#!/bin/sh
printf '3]%s;%smyscript 11 rgb:ff/ff/ff
7' $1 $2
e defina uma cor usando esse script
OSC Ps ; Pt ST OSC Ps ; Pt BEL Set Text Parameters. For colors and font, if Pt is a "?", the control sequence elicits a response which consists of the con- trol sequence which would set the corresponding value. The dtterm control sequences allow you to determine the icon name and window title. ... The 10 colors (below) which may be set or queried using 1 0 through 1 9 are denoted dynamic colors, since the correspond- ing control sequences were the first means for setting xterm's colors dynamically, i.e., after it was started. They are not the same as the ANSI colors. These controls may be disabled using the allowColorOps resource. At least one parameter is expected for Pt. Each successive parameter changes the next color in the list. The value of Ps tells the starting point in the list. The colors are specified by name or RGB specifi- cation as per XParseColor. ... Ps = 1 0 -> Change VT100 text foreground color to Pt. Ps = 1 1 -> Change VT100 text background color to Pt. Ps = 1 2 -> Change text cursor color to Pt. Ps = 1 3 -> Change mouse foreground color to Pt. Ps = 1 4 -> Change mouse background color to Pt. Ps = 1 5 -> Change Tektronix foreground color to Pt. Ps = 1 6 -> Change Tektronix background color to Pt. Ps = 1 7 -> Change highlight background color to Pt. Ps = 1 8 -> Change Tektronix cursor color to Pt. Ps = 1 9 -> Change highlight foreground color to Pt.
Leitura adicional: