Table of Contents
PS1 - Códigos RGB ANSI de 24 bits
1. Códigos de Cores Personalizados
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:
- #A150A1 → \[\e[38;2;161;80;161m\] (cor de texto)
- #79D485 → \[\e[38;2;121;212;133m\]
- #00ACC9 → \[\e[38;2;0;172;201m\]
- #ABAEAF → \[\e[38;2;171;174;175m\]
2. Exemplo de PS1 Personalizado
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:
- \[\e[38;2;161;80;161m\]\u: Nome do usuário na cor #A150A1.
- \[\e[0m\]: Reseta as cores para evitar que elas vazem.
- \[\e[38;2;121;212;133m\]\h: Nome do host na cor #79D485.
- \[\e[38;2;0;172;201m\]\w: Diretório de trabalho atual na cor #00ACC9.
- \[\e[38;2;171;174;175m\]\$: Prompt final (`$` ou `#`) na cor #ABAEAF.
3. Adicionando ao Bashrc
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
4. Resultado Final
Aparência do Prompt: Se você estiver logado como usuário normal:
username@hostname /current/directory $
- username em #A150A1.
- hostname em #79D485.
- Diretório atual em #00ACC9.
- `$` em #ABAEAF.
Se for root, o `$` será substituído por `#` automaticamente.
5. Testando Temporariamente
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\]\$ "
6. Adaptando ao Seu Estilo
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`.
Outro exemplo
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:
- #A150A1
- #79D485
- #00ACC9
- #ABAEAF
- #CCAE87
Cores em RGB ANSI 24-bit
\e[38;2;R;G;Bm
Onde:
- R, G, B são os valores de vermelho, verde e azul, respectivamente, na escala de 0 a 255.
- `38` representa a cor do texto (foreground), e `48` representa o fundo (background).
Representações das cores fornecidas
Conversão das Cores:
- #A150A1
- RGB: 161, 80, 161
- ANSI RGB: `\e[38;2;161;80;161m`
- #79D485
- RGB: 121, 212, 133
- ANSI RGB: `\e[38;2;121;212;133m`
- #00ACC9
- RGB: 0, 172, 201
- ANSI RGB: `\e[38;2;0;172;201m`
- #ABAEAF
- RGB: 171, 174, 175
- ANSI RGB: `\e[38;2;171;174;175m`
- #CCAE87
- RGB: 204, 174, 135
- ANSI RGB: `\e[38;2;204;174;135m`
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\]'
Outras combinações
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:
1. Paleta Análoga
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\]'
2. Paleta Complementar
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\]'
3. Paleta Tríade
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\]'
4. Paleta Tetrádica
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\]'
