Important !!!
Comme l’a fait remarquer Mydjey, il est préférable de faire une copie de votre fichier bashrc avant d’effectuer les manipulations décrites ci-dessous.
Sommaire du tutoriel Bash :
Partie 1 : La couleur
Partie 2 : Alias et auto-complétion
Partie 3 : Fortune et cowsay
Zsh :
Partie 1 : La couleur
Partie 2 : Alias et auto-complétion
Partie 3 : Fortune et cowsay
Salut les animaux !
Vous trouvez votre bash (Bourne Again shell) triste et terne ? Moi aussi, changeons cela :
Aujourd’hui au menu, personnalisation du terminal, je vous ferai deux billets à suivre là dessus, un premier pour mettre un peu de gaieté et l’autre pour l’ergonomie (avec autocomplétion et tout le beurzinc). Sortez les pinceaux, je sors la couleur.
Pour commencer, ouvrons le fichier magique :
$ gedit ~/.bashrc
Vous devriez avoir un truc comme ça :
#
# ~/.bashrc
## If not running interactively, don’t do anything
[[ $- != *i* ]] return
PS1='[\u@\h \W]\$ ‘
Tout cela est bien trop simple alors on va ajouter des trucs au hasard. Commenter la ligne PS1='[\u@\h \W]\$ ‘ (un ptit # devant) et rajouter en dessous :
PS1=’\[\e[1;31m\]\076\[\e[m\] \A \[\e[1;34m\]\u\[\e[m\] \173 \[\e[1;31m\]\W\[\e[m\] \175 \[\e[1;34m\]\$\[\e[m\] ‘
Puis relancer la console. Je vous autorise ici toutes sorte d’interjections admiratives devant ma grande science (ou pas …).
Alors je vous explique :
PSI désigne la partie avant le pront de la console. Et tous ces signes que vous avez écrit désigne en langage bash, les couleurs et des constantes système. En voici un petit tableau résumé (source : WikiArch):
\d La date en anglais format « Weekday Month Date » format (e.g., « Tue May 26 »)
\e Caractére ASCII ‘escape’ (033)
\h Le hostname jusqu’au `.’
\H Le hostname
\n newline
\r carriage return
\t heure format 24-hour HH:MM:SS
\T heure format 12-hour HH:MM:SS
\@ heure format 12-hour am/pm
\A heure format 24-hour HH:MM
\u username
\w Le repértoire de travail avec le home abrégé par un tilde
\W La base du repértoire de travail (comprendre le dernier dossier) avec le home abrégé par un tilde
\[ Début des caractéres non affichés
\] Fin des caractéres non affichés
\$ # si bash, sinon un $
Et le même une petite selection de couleurs
Black 0;30
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Pour une liste plus grande, aller voir le Wiki.
Et je vous met une petite table ASCII en prime, pour vous aider.
Voila, maintenant on décompose la ligne que je vous ai fait ajouter tout à l’heure :
\[\e[1;31m\]\076\[\e[m\] \A \[\e[1;34m\]\u\[\e[m\] \173 \[\e[1;31m\]\W\[\e[m\] \175 \[\e[1;34m\]\$\[\e[m\]
\[\e[1;31m\] Affiche en rouge gras
\076 le caratére ascii 076 ‘>’
\[\e[m\] Affiche en blanc
\A l’heure format HH:MM 24h
\[\e[1;34m\] Affiche en bleu gras
\u le username
\[\e[m\] Affiche en blanc
\173 le caratére ascii 173 ‘{‘
\[\e[1;31m\] Affiche en rouge gras
\W La base du repértoire de travail
\[\e[m\] Affiche en blanc
\175 le caratére ascii 175 ‘}’
\[\e[1;34m\] Affiche en bleu gras
\$ # si bash, sinon un $
\[\e[m\] Affiche en blanc le text que l’on va taper
À partir de là vous devriez déja pouvoir pas mal vous amuser.
Si vous voulez aller plus loin, vous pouvez aussi rajouter des conditions (par exemple differencier root et user). Comme le ~/.bashrc ne s’applique qu’à vous, il va falloir modifier la version systéme, à savoir /etc/bash.bashrc.
$ sudo gedit /etc/bash.bashrc
Commenter le PS1 de ce fichier et metter à la suite le votre (personnalisé). Pour differencier Root et user nous allons rajouter des conditions. Voici ce que ça donne chez moi :
if [ « `id -u` » -eq 0 ]; then
PS1=’\[\e[1;33m\]\076\[\e[m\] \A \[\e[1;33m\]\u\[\e[m\] \173 \[\e[1;34m\]\W\[\e[m\] \175 \[\e[1;33m\]\$\[\e[m\] ‘ #Console root
else
PS1=’\[\e[1;31m\]\076\[\e[m\] \A \[\e[1;34m\]\u\[\e[m\] \173 \[\e[1;31m\]\W\[\e[m\] \175 \[\e[1;34m\]\$\[\e[m\] ‘ #Console Users
fi
Voici le Screenshot tas de feignants :
Enjoy !
Vous pourrez trouvez quelques inspiration sur le forum Archlinux (au hasard).
Et pour finir, je vais vous faire la technique à la gizmodo pour avoir des commentaires :
N’hésitez pas à poster vos créations dans les commentaires, avec un petit lien vers un Screenshot si possible ! Les meilleur seront affichées dans le prochain article.
La prochaine fois, je vous parlerai des alias, de fortune, de l’autocomplétion et de mon chat (histoire de vous rappeler que je suis humain avant tout, malgré des articles si proche de la perfection !).
@4nti7rust
Relu et corrigé par Talian.
Source (image)
@mydjey @llphrin : Merci. Cette partie est plutôt une introduction pour s’initier à la config du shell. Il y en aura un identique sur zsh semaine prochain (quasi identique, pour ceux qui veulent faire le pas, ce que je recommande, ce sera rapide de reproduire leurs PS1).
La suite en revanche devrait plaire à tout le monde (enfin espérons). J’ai regroupé pas mal de petites astuces trouvées un peu partout. Ça fait un petit mixup fort sympathique à mon gout (autant cette première partie est existe plus ou moins déjà sur le net, autant la suivante devrait être un peu plus home-made).
N’hésitez pas à mettre des remarques (en mal ou en bien), c’est encore mes premières tuto et c’est loin d’être parfait.
C’est vraiment sympa comme tuto!
Voilà ce que ça donne chez moi (pas changé grand chose):
Image
Et les lignes PS1 root et user respectivement:
PS1=’\[\e[0;31m\]\043\[\e[m\] \A \[\e[0;31m\]\u\[\e[m\] \133 \[\e[0;36m\]\w\[\e[m\] \135 \[\e[1;37m\]\076\[\e[m\] ‘
PS1=’\[\e[1;33m\]\043\[\e[m\] \A \[\e[1;34m\]\u\[\e[m\] \133 \[\e[0;36m\]\w\[\e[m\] \135 \[\e[1;37m\]\076\[\e[m\] ‘
M’en occupe ;)
Bien bien.
Une remarque toutefois : il serait plus prudent d’indiquer aux débutants (et aux autres aussi d’ailleurs ^^) de faire une copie du bashrc avant de trifouiller dedans.
Super comme d’hab, il y a vraiment de quoi s’amuser :)