Comment mettre de la couleur dans le terminal de Mac Os X 10.6 – 10.8

De prime abord le terminal sous mac, que ce soit en Léopard ou en Lion, est un peu tristoon 😉

La méthode décrite ici pour personnalisé son terminal marche pour tout les comptes y compris le compte root.

Nous n’allons donc pas modifier ou ajouter un fichier (.profile ou .bash_profile) dans le répertoire « home » d’un compte particulier mais modifier les fichiers dans « etc ».

Alors pourquoi me direz vous, après tout il suffit de faire un sudo -s pour passer en root jusqu’au prochain exit ou même d’utiliser la commande sudo pour avoir le privilège root temporairement.

La réponse est simple si vous avez plusieurs sous compte sur plusieurs mac qui plus est il est plus simple de modifier et mettre à jour entre chaque ordi un seul fichier plutôt qu’un fichier par compte utilisateur par poste.

Le tableau étant décrit passons à la pratique.

Modifier le fichier /etc/profile

Il faudra bien sur posséder les droits root pour enregistrer les modifications, donc depuis un terminal exécuter les commandes suivantes.

sudo nano /etc/profile

Ajouter les lignes suivantes en début de fichier puis sauver le fichier

export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad

La première ligne permet d’activer la couleur.
La seconde ligne permet de modifier les couleurs associée à la commande ls.
Plus d’information sur les options de personnalisation de la commande ls sont disponibles en faisant un man.
Mais en résumé la valeur de cette variable (LSCOLORS) est une concaténation de paire de valeur au format « TF » ou T est la couleur de la police et F est la couleur du fond.
Les couleurs possible (norme ANSI) sont les suivantes :

     a     black
     b     red
     c     green
     d     brown
     e     blue
     f     magenta
     g     cyan
     h     light grey
     A     bold black, usually shows up as dark
           grey
     B     bold red
     C     bold green
     D     bold brown, usually shows up as yellow
     E     bold blue
     F     bold magenta
     G     bold cyan
     H     bold light grey; looks like bright
           white
     x     default foreground or background

Et l’ordre des paires TF est le suivant (pour la concaténation)
     1.   directory
     2.   symbolic link
     3.   socket
     4.   pipe
     5.   executable
     6.   block special
     7.   character special
     8.   executable with setuid bit set
     9.   executable with setgid bit set
     10.  directory writable to others, with
          sticky bit
     11.  directory writable to others, without
          sticky bit

A noter que la valeur par défaut de cette variable est « exfxcxdxbxegedabagacad«