Como faço o fundo do terminal branco brilhante?

2

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?

    
por Z0q 13.04.2016 / 16:35

2 respostas

0

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
    
por 13.04.2016 / 18:16
0

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;%s
myscript 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:

por 13.04.2016 / 22:31