Linux : un peu de couleur dans la console

Linux : un peu de couleur dans la console

23 juin 2018 Non Par Adrien Boilley

Structure

Colorer le prompt sous linux n’est pas très compliqué : il faut connaître un peu le préformatage shell et sa structure.

D’abord : il faut savoir que le prompt est enregistré sous la forme d’une chaîne de caractère, dans la variable d’environnement PS1. Vous pouvez afficher le contenu de la variable à l’aide de la commande echo $PS1.

La chaîne de caractère comporte des symboles graphiques comme le @ et des symbole de substitution comme les \u \h \w et \$. Ces derniers seront remplacés automatiquement par le contenu des variables suivantes : \u = $USER (nom de l’utilisateur connecté), \h = $HOSTNAME (nom de la machine) et w = $PWD qui est le répertoire courant.

Capture d’écran

  • Alors pourquoi un ~ à la place de /home/adrien ?

Le tilde ~ n’est pas une variable mais un alias : il sert à désigner le chemin du dossier personnel de l’utilisateur. Donc le shell affiche le tilde plutôt que le chemin complet.

Code couleur

Connaissant ça : vous pouvez tester la modification avec la commande export qui modifiera en temps réel le contenu de la variable sans modifier la config. Les modifications prendront fin quand vous fermerez la console.

Le formatage du texte en Shell se déclare comme suit.
Celui ci permet un formatage par défaut.

\[\033[0m\]

Pour ajouter de la couleur : il suffit de remplacer le deuxième 0 par les codes de formatage : et en séparant les instructions de formatage par un point-virgule ;.
Celui ci fait du texte en bleu et gras :

\[\033[01;34m\]

Vous n’avez plus qu’à composer comme ça vous chante.

Capture d’écran

Détail des codes

  • 00 = formatage par défaut
  • 01 = texte épais / couleur du texte plus claire
  • 04 = souligner du texte
  • 05 = texte clignotant
  • 07 = surlignage
  • 3x = couleur du texte
    • 0 = noir / defaut
    • 1 = rouge
    • 2 = vert
    • 3 = jaune
    • 4 = blue
    • 5 = violet
    • 6 = cyan
    • 7 = blanc
  • 4x = couleur de l’arrière plan
    • Même code couleur que le texte.

source : admin linux

Conserver la configuration

Pour sauvegarder votre prompt préféré : il vous suffit d’éditer d’un fichier bashrc qui sera chargé à chaque démarrage de console ou connexion d’utilisateur.

Prompt du compte utilisateur

Il s’agit d’un fichier caché .bashrc dans le dossier personnel.

/home/utilisateur/.bashrc

Si la variable n’est pas précisée : déclarez là en fin de fichier.

PS1='\[\033[01;32m\]\u\[\033[0m\] @\[\033[0;37m\]\h\[\033[0m\] :\[\033[0;37m\]\w\[\033[0m $ '

Compte root (debian)

On peut le colorer en rouge par sécurité, par exemple : dans le fichier :

/etc/bash.bashrc

ATTENTION cependant : le root debian possède une instruction chroot en début de chaîne qu’il faut absolument conserver.

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[0m\] @\[\033[0;37m\]\h\[\033[0m\] :\[\033[0;37m\]\w\[\033[0m $ '

Ubuntu

Sur Ubuntu : il est possible d’avoir à “dé-commenter” (enlever le # en début de ligne) :

#force_color_prompt=yes

Plus d’info