Avoir un prompt de couleur différente pour root sur Ubuntu

Le prompt d'un terminal se définit par la variable PS1. En règle générale, on définit cette variable dans le fichier .bashrc du répertoire personnel (dans mon cas, /home/mzwyssig/.bashrc).

Sur Ubuntu, ce fichier est déjà bien rempli et il suffit de décommenter la ligne 39 force_color_prompt=yes et de recharger le fichier (ou de relancer un terminal) pour que le terminal soit en couleur. On aura quelqiue chose du genre :

On reconnait les couleurs 01;32m (le vert gras) et 01;34m (le bleu gras). Le 01 définit le gras, le 32 ou le 34 la couleur. Le m final active la définition de style.

Mais comment faire pour que quand on se connecte en root sur ubuntu pour changer cette couleur verte (01;32m) en rouge (01;31m) ?

Sur Ubuntu, l'utilisateur root n'a pas de mot de passe, il ne peut donc pas se connecter si on lui en donne pas. La commande su ne fonctionnera donc pas, et l'environnement de l'utilisateur root ne peut donc pas être changé. Pour se connecter en root tout de même, on utilisera "sudo -s".

Ce qui veut dire qu'on peut pas simplement prendre le fichier .bashrc de l'utilisateur root (/root/.bashrc) car il ne va pas être chargé. Nous restons dans l'environnement de l'utilisateur courant.

La solution est d'éditer le fichier .bashrc de l'utilsateur "sudoer" (qui a le droit de faire sudo).

A la ligne 53, il suffit de remplacer

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

par

if [ `whoami` = root ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi

Nous définissions la couleur rouge (01;31m) si le resultat de la commande `whoami` retourne 'root'.

Résultat après le rechargement du fichier (ou après avoir relancé le terminal)

Voici un article avec beaucoup d'informations sur les couleurs et sur la personnalisation du prompt.

Comments

Cool

Extra ! merci fonctionne a merveille !

Heya this is kind of of off

Heya this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML. I'm starting a blog soon but have no coding expertise so I wanted to get advice from someone with experience. Any help would be enormously appreciated! Garrett Favero

Écrire un nouveau commentaire

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.

© 2009-2011 Linalis.com | Tous les articles sont sous licence CC by-sa | login

Formations Drupal | Formations Pentaho | Formations LPI | Contactez-nous