Como faço para entrar no root e alterar meu prompt?

Como faço para entrar no root e alterar meu prompt?

Estou usando o Ubuntu-10.04 e o bash. Quero entrar no root e alterar meu prompt para caracteres sublinhados em vermelho para refletir que estou no root. No prompt do bash, se eu digitar:

$ sudo bash

então eu entro no root, mas meu prompt não muda. Em /root/.bashrceu tenho:

RED="\[\033[0;31m\]"
UNDERLINE="\[\033[4m\]"
DEFAULT="\[\033[0m\]"
export PS1=$RED$UNDERLINE'\u@\h:\w\$'$DEFAULT' '

no entanto, este arquivo não está sendo lido. Para que seja lido tenho que digitar no prompt:

# . /root/.bashrc

o que eu não quero ter que fazer. Como faço para configurá-lo para que, quando eu entrar no root, /root/.bashrcele seja executado automaticamente?

Responder1

  • Primeiro, é sudo rootmesmo um comando válido? ( sudo -sou sudo -iseria.)

  • Eu prefiro editar meuter .bashrcem vez de root. Você pode ter, por exemplo,

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
    
  • Você pode usar sudo -ipara fazer com que os rcfiles do root sejam lidos em vez dos seus.

Responder2

Parece que o sudo está configurado para usar as variáveis ​​de ambiente dos usuários originais e não as novas.

Você define env_reset and env_keep options in /etc/sudoersou redefine explicitamente as variáveis ​​de ambiente para as do usuário de destino com -H: sudo -H -u root

informação relacionada