O Bash não tem nada a dizer sobre as cores que as aplicações usam, exceto, é claro, o que o próprio bash usa. Aplicativos interagem com o terminal; o bash apenas inicia e avisa quando eles terminam.
As aplicações sabem como falar com um terminal através do termcap (tradicional) ou terminfo (modeern). Termcap é mais antigo que cores, mas o terminfo tem algum conhecimento de cores. Consulte a página terminfo(5)
man para obter uma lista dos recursos suportados em seu sistema. Não há como especificar sequências de controle para cores individuais, mas você pode obter essencialmente o mesmo resultado configurando a aparência de cada cor por meio do recurso initc
. Por exemplo, isso altera a aparência da cor 1 (normalmente vermelha) para verde brilhante:
tput initc 1 0 255 0
O banco de dados ncurses não inclui este recurso para terminator
ou para xterm
(a partir da versão 5.9 no Debian jessie). No entanto, estes emuladores de terminal (assim como qualquer outro terminal baseado em vte) suportam uma sequência de escape que pode ser usada para esse propósito: OSC 4 ; c
; spec BEL . Isto é como transformar vermelho em verde brilhante:
printf '\e]4;1;#00ff00\a'
As cores básicas são numeradas de 0 a 7; texto em negrito nessas cores usa cores de 8 a 15. Você também pode usar OSC 5 ; 0 ; spec BEL
para alterar a cor usada para negrito na cor padrão e assim por diante (consulte a lista de seqüência de controle para obter detalhes).
Essas configurações afetam as cores de primeiro e segundo plano, não há como afetar o primeiro plano e o plano de fundo separadamente.
Para personalizar a aparência das cores, você produziria essas seqüências de controle do seu .bashrc
. Isso afetaria apenas os terminais nos quais você executa uma instância interativa do bash, não os terminais nos quais inicia um outro aplicativo diretamente.
Eu não sei como isso interage com as configurações da paleta de cores do Terminator.