Améliorer l'ergonomie de votre prompt, et celui du root, avec de la couleur
En ce moment je ne parle plus beaucoup de Firefox (ou de quoi que ce soit d'autre) car ma dernière occupation relève de l'administration d'un serveur Web. Je suis donc amené à utiliser intensivement la ligne de commande et à passer fréquemment du compte utilisateur classique au compte root.
Étant assez déçu du peu de différence visuel entre les deux comptes, j'ai donc modifié mon prompt utilisateur en rajoutant cette ligne dans le fichier /home/tbassetto/.bashrc :
export PS1='[\t]\[\e[1;32m\]\u\[\e[0m\]@\[\e[1;33m\]\h\[\e[0m\]:\[\e[1;37m\]\w\[\e[0m\]\$ '
Et pour root j'ai rajouté cette ligne dans le fichier /root/.bashrc :
export PS1='[\t]\[\e[41;1;37m\]\u@\h:\w\[\e[0m\]\$ '
# Vous pouvez aussi modifier 41;1;37 par 41;5;37 pour que le prompt clignote :)
Ces deux lignes rajoutent l'heure en début de prompt. Pour l'utilisateur classique on colorie différemment le nom de l'utilisateur, de la machine et le chemin dans lequel on est. Pour le root tout le prompt est écrit en blanc sur fond rouge :)

Pour prendre en compte les modifications vous devez relancer le terminal. Si vous souhaitez personnaliser encore plus votre prompt je vous recommande la lecture de Tip: Prompt magic.
Commentaires
Sous ubuntu moi j'ai juste le .bashrc à modifier pour avoir un affichage différent entre root et l'utilisateur normal. Je rajoute ces lignes par exemple :
if [ `id -u` = "0" ] ; then
PS1='\[\033[31m\]\u\[\033[36m\]@\[\033[33m\]\h\[\033[00m\]:\[\033[34m\]\w\[\033[00m\]\$ '
else
PS1='\[\033[32m\]\u\[\033[36m\]@\[\033[33m\]\h\[\033[00m\]:\[\033[34m\]\w\[\033[00m\]\$ '
fi
Par contre, je n'utilise pas "su" mais "sudo -s" ça change sûrement le comportement du fichier de configuration utilisé.
Je voudrais savoir s'il est possible d'avoir tout texte après le prompt (cmde et resultat de cette cmde, texte de fichier ouvert avec vim, etc) d'une couleur différente lorsqu'on est sous root.
Cela fait quelques temps que j'ai placé des couleurs pour le prompt mais je me demande si on peut pas aller plus loin...
En fait la couleur est gérée/sélectionnée par GnomeTerminal, GMT, Kterm, etc dans les préferrences de chacun de ses terms. Aussi je doute que puisse avoir une couleur différente ... mais bon je demande au cas où ?
Pour prendre en compte les modifications vous devez relancer le terminal.
Ou bien encore dans le terminal actuel:
source .bashrc
ou
. .bashrc
Bien sympa, j'adopte ;}
Merci.
@3po : je ne sais pas si "su" prend en compte le .bashrc dans le /home/, ça m'étonnerait.
@Standop : Essaye avec : export PS1='[\t]\[\e[0m\]\[\e[41;1;37m\]\u@\h:\w\$ '
Quelque explications : \[\e[0m\] indique l'arrêt de la personnalisation (enlève la couleur, etc.). D'habitude je le met à la fin du prompt pour ne pas avoir un impact sur le reste de la commande mais si on le met au début le code qui indique la couleur (\[\e[41;1;37m\]) s'applique aussi sur la commande. À tester, personnellement je trouve ça lourd.
Note : au lieu de le mettre eu début (ou presque de ligne) on pourrais carrément l'enlever...
@coolix : ok c'est bon à savoir
J'ai écrit deux articles sur le même sujet plus ou moins, car je suis passé moi aussi de développeur web à administrateur système.
Voici donc :
www.betaphile.net/index.p...
pour personnaliser votre console, et puis
www.betaphile.net/index.p...
qui présente zsh, un shell alternatif à bash très puissant, rapide, et pratique :) !
Su et Sudo ont des comportements quasi similaire.. Par exemple, su - fait la même chose que sudo -i (enfin l'inverse), puisqu'il fait un "login", en gros il reset l'environnement actuel par l'environnement par défaut de l'utilisateur. Dans ce cas là, à priori, c'est le /root/.bashrc et/ou le global qui sont lu en lieu et place du $HOME/.bashrc...
Par contre, avec su et sudo -s, à priori il fait pas de login, donc c'est toujours le $HOME/.bashrc qui doit être lu.. ça mériterais des tests rapides.. m'enfin :)
(ps : pour aller encore plus loin avec les prompts, zsh est mieux)
Merci pour ces explications. J'ai analyse les references. Je pense que je vais personnaliser encore plus mon prompt d'apres votre recommandation.