PS1 - Códigos RGB ANSI de 24 bits
Para definir cores personalizadas, é necessário convertê-las em códigos RGB ANSI de 24 bits, que são suportados por terminais modernos (como o GNOME Terminal).
As cores fornecidas correspondem aos seguintes códigos:
Aqui está um PS1 que utiliza essas cores para diferentes partes do prompt:
PS1="\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h \[\e[38;2;0;172;201m\]\w\[\e[0m\] \[\e[38;2;171;174;175m\]\$ "
Explicação dos Componentes:
Para tornar essa configuração permanente, adicione ao arquivo `~/.bashrc`:
echo 'PS1="\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h \[\e[38;2;0;172;201m\]\w\[\e[0m\] \[\e[38;2;171;174;175m\]\$ "' >> ~/.bashrc source ~/.bashrc
Aparência do Prompt: Se você estiver logado como usuário normal:
username@hostname /current/directory $
Se for root, o `$` será substituído por `#` automaticamente.
Para testar sem alterar o `.bashrc`, execute diretamente no terminal:
export PS1="\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h \[\e[38;2;0;172;201m\]\w\[\e[0m\] \[\e[38;2;171;174;175m\]\$ "
Se quiser incluir informações adicionais (como hora ou status do comando anterior), modifique o PS1. Por exemplo:
PS1="\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h \[\e[38;2;0;172;201m\]\w \[\e[38;2;171;174;175m\]\$(date +'%H:%M:%S') \$ "
Esse adiciona o horário no formato `HH:MM:SS`.
export PS1="\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h \[\e[38;2;0;172;201m\]\w\[\e[0m\] \[\e[38;2;204;174;135m\]\$ \[\e[0m\]"
Cores:
\e[38;2;R;G;Bm
Onde:
Conversão das Cores:
Exemplo de Uso no PS1: Se você quiser usar todas essas cores em um PS1, por exemplo:
PS1="\[\e[38;2;161;80;161m\]User:\u \[\e[38;2;121;212;133m\]Host:\h \[\e[38;2;0;172;201m\]Dir:\w \[\e[38;2;171;174;175m\]Time:\$(date +'%H:%M:%S') \[\e[38;2;204;174;135m\]$ "
Resumo das Sequências ANSI
| Cor | RGB | ANSI RGB |
|---|---|---|
| #A150A1 | 161, 80, 161 | `\e[38;2;161;80;161m` |
| #79D485 | 121, 212, 133 | `\e[38;2;121;212;133m` |
| #00ACC9 | 0, 172, 201 | `\e[38;2;0;172;201m` |
| #ABAEAF | 171, 174, 175 | `\e[38;2;171;174;175m` |
| #CCAE87 | 204, 174, 135 | `\e[38;2;204;174;135m` |
Urilizado:
export PS1='${debian_chroot:+($debian_chroot)}\[\e[38;2;161;80;161m\]\u\[\e[0m\]@\[\e[38;2;121;212;133m\]\h\[\e[0m\][\[\e[38;2;0;172;201m\]\w\[\e[0m\]]\[\e[38;2;204;174;135m\]\$ \[\e[0m\]'
Podemos criar outras combinações de cores harmônicas para o prompt PS1 utilizando paletas que seguem princípios de design como análogo, complementar, tríade ou tetrádica. Aqui estão algumas sugestões para você experimentar no seu terminal:
Cores próximas no círculo cromático criam uma sensação de harmonia.
PS1='\[\e[38;2;52;152;219m\]\u\[\e[0m\]@\[\e[38;2;41;128;185m\]\h\[\e[0m\][\[\e[38;2;26;82;118m\]\w\[\e[0m\]]\[\e[38;2;72;201;176m\]\$ \[\e[0m\]'
Combina cores opostas para um visual vibrante.
PS1='\[\e[38;2;255;87;34m\]\u\[\e[0m\]@\[\e[38;2;33;150;243m\]\h\[\e[0m\][\[\e[38;2;255;235;59m\]\w\[\e[0m\]]\[\e[38;2;76;175;80m\]\$ \[\e[0m\]'
Cores equidistantes no círculo cromático, garantindo equilíbrio.
PS1='\[\e[38;2;123;31;162m\]\u\[\e[0m\]@\[\e[38;2;30;136;229m\]\h\[\e[0m\][\[\e[38;2;67;160;71m\]\w\[\e[0m\]]\[\e[38;2;255;112;67m\]\$ \[\e[0m\]'
Combina duas duplas complementares, criando diversidade.
PS1='\[\e[38;2;244;67;54m\]\u\[\e[0m\]@\[\e[38;2;33;150;243m\]\h\[\e[0m\][\[\e[38;2;76;175;80m\]\w\[\e[0m\]]\[\e[38;2;255;193;7m\]\$ \[\e[0m\]'