Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-01-2020 12:07:56

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 10
Noyau : Linux 4.19.0-9-amd64
(G)UI : Lxde & i3 (LxQt parfois - En test: Dwm)
Inscription : 27-09-2018
Site Web

.bashrc : promt en couleur différent pour root et user

Bonjour
depuis cette page: https://www.linuxtricks.fr/wiki/personn … shrc-cshrc
j'essaye de créer un promt différent entre un utilisateur et un super-utilisateur

--- on y indique qui faut rajouter ceci au fichier ~/.bashrc:

if [[ ${EUID} == 0 ]] ; then
        #Prompt de root
else
        #Prompt de l'utiliateur
fi



--- pour moi cela donnerais ceci (j'ai juste repris le prompt d'une des apparence proposée dans konsole: identique à celui de konsole pour l'utilisateur et j'ai juste rajouté dans le promt du super-utilisateur "root" devant le tout et en rouge)

if [[ ${EUID} == 0 ]] ; then
        PS1='\033[0;31\]root \033[00m\]\[\e]0;\u @ \h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]\033[0;35m\]:\[\033[00m\]\[\033[01;34m\]\w\[\033[00m\]\033[0;35m\]$\[\033[00m\] ' #Prompt de root
else
        PS1='\[\e]0;\u @ \h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]\033[0;35m\]:\[\033[00m\]\[\033[01;34m\]\w\[\033[00m\]\033[0;35m\]$\[\033[00m\] ' #Prompt de l'utiliateur
fi



--- là, j'ai un prompt comme je veux dans mon urxvt pour l'utilisateur mais au passage en mode super-utilisateur, j'obtiens juste "root@hostname;~#" en blanc

--- il y a un passage dans .bashrc, que je n'ai pas trafiqué je pense, qui nous parle aussi de prompt apparament. sais pas, je capte pas. mais il dit ceci:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac



--- voilà: auriez vous une idée ?
merci

Hors ligne

#2 19-01-2020 12:44:58

MicP
Membre
Inscription : 29-02-2016

Re : .bashrc : promt en couleur différent pour root et user

Bonjour

crap0 a écrit :


j'essaye de créer un promt différent entre un utilisateur et un super-utilisateur

--- on y indique qui faut rajouter ceci au fichier ~/.bashrc:

    if [[ ${EUID} == 0 ]] ; then
            #Prompt de root
    else
            #Prompt de l'utiliateur
    fi
 


--- là, j'ai un prompt comme je veux dans mon urxvt pour l'utilisateur mais au passage en mode super-utilisateur, j'obtiens juste "root@hostname;~#" en blanc

Comme son chemin l'indique, le fichier ~/.bashrc est dans le répertoire personnel du compte utilisateur concerné.

Ce qui veut dire que le prompt du compte root est définit dans le fichier ~/.bashrc du compte root (~ désignant le répertoire personnel du compte utilisateur root)
et que le prompt d'un compte utilisateur non privilégié est définit dans le fichier ~/.bashrc (~ désignant le répertoire personnel du compte utilisateur concerné.)

Il y a donc deux fichiers distincts qui sont dans des répertoires distincts
et il est donc inutile d'utiliser un test dans ce fichier pour savoir
par quel compte utilisateur le fichier de configuration ~/.bashrc est lancé

=======
En d'autre termes, la variable PS1 concernant le prompt du compte root
est définie dans le fichier /root/.bashrc

et, par exemple, la variable PS1 concernant le prompt du compte utilisateur non privilégié crap0
sera définie dans le ficher /home/crap0/.bashrc

==============
==============

crap0 a écrit :


--- il y a un passage dans .bashrc, que je n'ai pas trafiqué je pense, qui nous parle aussi de prompt apparament. sais pas, je capte pas. mais il dit ceci:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

L'extrait du fichier ~/.bashrc cité ci-dessus permet, dans le cas où le terminal utilisé serait incapable de les interpréter,
d'éviter de lui envoyer des séquences d'échappement pour redéfinir les couleurs d'affichage.

Il s'agit d'un test qui se base sur la valeur de la variable color_prompt
dont la valeur est définie dans un test qui est fait plus haut dans le fichier ~/.bashrc
et dont voici l'extrait correspondant :


# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac



=======

crap0 a écrit :


# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac



--- voilà: auriez vous une idée ?
merci


L'extrait ci-dessus permet, dans le cas où la sortie serait affichée
dans la fenêtre en mode graphique d'un émulateur de terminal,
de définir le texte qui sera affiché dans la barre de titre de cette fenêtre.

Dernière modification par MicP (19-01-2020 14:34:09)

Hors ligne

Pied de page des forums