Como configurar cores no prompt do Bash para usuário e root no Arch Linux
Dica publicada em Linux / Configuração
Como configurar cores no prompt do Bash para usuário e root no Arch Linux
Passos para alterar a cor do prompt (PS1) no Arch Linux, definindo uma cor para o usuário comum e outra para o superusuário (root), utilizando comandos no terminal.Introdução
No Arch Linux, o Bash possui uma configuração padrão sem cores ativadas. A alteração da variável PS1 no arquivo
.bashrc permite modificar o comportamento visual do terminal. A aplicação de cores para o usuário e para o root auxilia na identificação do nível de privilégio da sessão.Obs.: tentei o Oh My Bash!, mas não curti nenhum dos temas.
Passo 1: Configuração para o usuário comum
Para o usuário, o código abaixo define o nome em verde e o diretório em azul. O comando
cat com EOF sobrescreve o arquivo ~/.bashrc do usuário com as regras de cores e aliases para comandos de sistema.Execute no terminal:
cat << 'EOF' > ~/.bashrc
# ~/.bashrc
[[ $- != *i* ]] && return
PS1='[\[\e[1;32m\]\u@\h \[\e[1;34m\]\W\[\e[0m\]]\$ '
alias ls='ls --color=auto' alias grep='grep --color=auto' alias ip='ip -color=auto' EOF
Carregue a configuração:
[[ $- != *i* ]] && return
PS1='[\[\e[1;32m\]\u@\h \[\e[1;34m\]\W\[\e[0m\]]\$ '
alias ls='ls --color=auto' alias grep='grep --color=auto' alias ip='ip -color=auto' EOF
source ~/.bashrc
Explicação das variáveis do PS1:
\e[1;32m: Inicia a cor verde.\u: Imprime o nome do usuário.\h: Imprime o nome da máquina.\e[1;34m: Inicia a cor azul.\W: Imprime o diretório de trabalho.\e[0m: Remove as formatações de cor.\$: Exibe o caractere$para usuário de privilégio restrito.
Passo 2: Configuração para o usuário root
Para o root, o procedimento exige a edição do arquivo
/root/.bashrc. O código abaixo altera a cor do usuário para vermelho, indicando a sessão com privilégios de superusuário.Execute no terminal:
sudo bash -c "cat << 'EOF' > /root/.bashrc
# /root/.bashrc
[[ \$- != *i* ]] && return
PS1='[\[\e[1;31m\]\u@\h \[\e[1;34m\]\W\[\e[0m\]]# '
alias ls='ls --color=auto' alias grep='grep --color=auto' alias ip='ip -color=auto' EOF"
[[ \$- != *i* ]] && return
PS1='[\[\e[1;31m\]\u@\h \[\e[1;34m\]\W\[\e[0m\]]# '
alias ls='ls --color=auto' alias grep='grep --color=auto' alias ip='ip -color=auto' EOF"
Na configuração acima,
\e[1;31m representa a cor vermelha e o caractere # substitui o $ no final do prompt.Passo 3: Configuração do shell de login para o root
Comandos como
sudo -i ou su - abrem um shell de login. O shell de login procura por arquivos como .bash_profile ou .profile e não lê o .bashrc na sua execução.Para garantir o carregamento das cores definidas no passo anterior durante o acesso via
sudo -i, crie o arquivo /root/.bash_profile com a instrução de leitura do .bashrc.Execute no terminal:
sudo bash -c "cat << 'EOF' > /root/.bash_profile
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
EOF"
Após a execução destes passos, o terminal do usuário exibirá o prompt em verde, e o acesso como root via
sudo -i exibirá o prompt em vermelho.