Posso mudar a cor através da preferência , mas como posso mudar a cor do fundo e a cor do texto do terminal através da linha de comando?
Informação como encontrada em esta página, excluindo a coluna de pré-visualização:
As sequências são compostas pelo caractere Escape (muitas vezes representado por "^[
" ou "<Esc>
") seguido por alguns outros caracteres: "^[FCm
" (onde FC
é um dos números da lista de balas abaixo).
Em `bash', o Esc o código pode ser um dos seguintes:
\e
\033
(octal)\x1B
(hexadecimal)Note 1:_ The "\e[0m
" seqüência remove todos os atributos (formatação e cores). Pode ser uma boa idéia adicioná-la no final de cada texto colorido.
Note 2:_ As cores do primeiro plano e do fundo podem variar, dependendo da configuração do terminal's e nem todas as cores são suportadas.
0
: Repor/remover todos os modificadores, primeiro plano e atributos de fundo: `echo -e "\e[0mNormal Text"``: Reinicializar/remover todos os modificadores, primeiro plano e atributos de fundo1
: Negrito/branco: `echo -e "Normal \e[1m Negrito"``2
: Dim: `echo -e "Normal \e[2mDim"``4
: Sublinhado: `echo -e "Normal \e[4mUnderlined"``5
: Blink (não funciona na maioria dos terminais, exceto no XTerm): `echo -e "Normal \e[5mBlink"```7
: Reverse/Invert: `echo -e "Normal \e[7minverted"``8
: Escondido (útil para informações sensíveis): `echo -e "Normal \e[8mHidden Input"``21
: Repor/Remover negrito/brilhante: `echo -e "Normal \e[1mOrdido \e[21mNormal"``22
: Repor/Remover escuro: `echo -e "Normal \e[2mDim \e[22mNormal"``24
: Repor/Remover sublinhado: `echo -e "Normal \e[4mUnderlined \e[24mNormal"``25
: Repor/Remover pestanejar: echo -e "Normal {\a[5mPisca]e[25mNormal"
27
: Repor/Remover invertido/invertido: `echo -e "Normal \e[7minvertido \e[27mNormal"``28
: Repor/Remover oculto: `echo -e "Normal \e[8mHidden \e[28mNormal"``39
: Padrão (geralmente verde, branco ou cinza claro): echo -e "Padrão \e[39mDefault"
30
: Preto: `echo -e "Predefinição \e[30mPreto"(melhor combinado com uma cor de fundo:
echo -e "Predefinição \e[30;107mPreto sobre branco"``)31
: Vermelho (don't use com fundo verde)32
: Verde33
: Amarelo34
: Azul35
: Magenta/Púrpura36
: Ciano37
: Cinza Claro90
: Cinzento Escuro91
: Vermelho claro92
: Verde Claro93
: Amarelo Claro94
: Azul Claro95
: Magenta claro/rosa96
: Ciano Claro97
: Branco49
: Cor de fundo predefinida (geralmente preto ou azul)40
: Preto41
: Vermelho42
: Verde43
: Amarelo44
: Azul45
: Magenta/Púrpura46
: Ciano47
: Cinza Claro (don'não utilizar em primeiro plano branco)100
: Dark Gray (don't use com o primeiro plano preto)101
: Vermelho claro102
: Verde claro (don'não usar com o primeiro plano branco)103
: Amarelo Claro (don'não utilizar com o primeiro plano branco)104
: Azul claro (don'não utilizar com o primeiro plano amarelo claro)105
: Light Magenta/Pink (don't utilizar com primeiro plano claro)106
: Ciano claro (don'não utilizar com primeiro plano branco)107
: Branco (don't utilizar com primeiro plano claro)Para definir as cores do primeiro plano e do fundo ao mesmo tempo, utilize a forma echo -e "\e[S;FG;BGm"
. Por exemplo: echo -e "\e[1;97;41m"
(negrito branco em primeiro plano sobre fundo vermelho)
Para 256 opções de cores, consulte a página de origem.
Se for para mudar as cores de uma forma incidental:
Você pode usar o comando setterm:
setterm -term linux -back <background_colour> -fore <text_color> -clear
das cores, você pode escolher entre (tanto para frente como para trás):
black|blue|green|cyan|red|magenta|yellow|white|default
para mais opções:
setterm -help
Em 14.04, eu não'não encontrei uma opção para usar dconf
para definir as cores ou o terminal. Você pode no entanto utilizar o gconftool
.
Primeiro precisa de obter o seu nome de perfil:
gconftool-2 --get /apps/gnome-terminal/global/profile_list
Depois, para definir as cores do texto do seu perfil:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/foreground_color" --type string "#FFFFFFFF"
por exemplo, para definir a cor do texto para branco
O mesmo com a cor de fundo:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string "#000000"
por exemplo, para definir a cor de fundo para preto
ALternativamente, para definir o nome da(s) cor(es), você pode simplesmente usar white
ou green
, da mesma paleta do comando setterm, por exemplo:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string black
Os vários códigos de cores utilizados para obter uma saída colorida também podem ser utilizados para obter fundos coloridos:
40 black
41 red
42 green
43 yellow
44 blue
45 magenta
46 cyan
47 white
Por isso, o seguinte comando torna o meu fundo vermelho:
$ echo -e '\e[0;41m'
Dependendo da shell, do emulador de terminal, etc., você pode não precisar do `-e'.