Linux entre amis est une source intarissable d'informations ... Pour la personnalisation du prompt, on pourra ainsi lire:
http://lea-linux.org/trucs/item.436.html
Des exemples sont fournis.
De façon plus générale, le shell est présenté dans l'article suivant:
http://lea-linux.org/admin/shell.html
Deux indications préalables pour aider la lecture.
1/ la variable qui règle l'affichage du prompt:
La variable qui définit le prompt 'de base', s'appelle PS1 (on suppose que l'installation FC3 a été standard et que le shell utilisé est bash). Le shell (qui se manifeste notamment au travers des consoles ouvertes) utilise des variables pour régler son comportement.
Extrait du man bash (il s'agit d'un manuel en ligne, accessible dans une console par la commande man. Pour obtenir des informations sur le bash, il faut saisir man bash. Pour obtenir, en général, des informations sur une commande, il faut saisir man la_commande_en_question):
"PS1: La valeur de ce paramètre est développée puis utilisée comme symbole d?accueil principal (voir le paragraphe SYMBOLE D?ACCUEIL ci-dessous). La valeur par défaut est ??s-v$ ??."
SYMBOLE D?ACCUEIL (PROMPT)
Quand il est exécuté de manière interactive, bash affiche le symbole d?accueil principal PS1 dès qu?il est prêt à lire une commande, et le symbole d?accueil secondaire PS2 quand il a besoin de plus de données pour exécuter une commande. Bash permet de personnaliser ces chaînes d?accueil, avec des séquences d?échappement ayant les significations suivantes :
a le caractère d?alarme ASCII 07
d la date au format "Jour_de_la_semaine Mois Quantième" (ex : "Tue May 26")
e le caractère d?échappement ASCII 033
h le nom d?hôte de la machine, juqu?au premier point ?.?
H le nom d?hôte complet de la machine
n un saut de ligne
r un retour-chariot
s le nom du shell, c?est à dire le nom de base de $0 (la portion suivant le dernier slash)
t l?heure actuelle au format HH:MM:SS sur 24 heures
T l?heure actuelle au format HH:MM:SS sur 12 heures
@ l?heure actuelle sur 12 heures au format HH:MM am/pm
u le nom de l?utilisateur
v la version de bash (par exemple 2.04)
V le numéro de version complet de bash par exemple
w le répertoire de travail en cours
W le nom de base du répertoire de travail en cours
! le numéro d?historique de la commande
# le numéro de la commande
$ # si l?UID effectif est 0, $ sinon (note Herrib: # si root et $ sinon)
nnn le caractère de code octal nnn
le caractère antislash
[ débute une série de caractères non-imprimables, qui permettent d?inclure des séquences de contrôle de terminal dans une chaîne d?accueil
] fin d?une série de caractères non-imprimables".
2/ modifier la variable PS1:
La variable a une valeur par défaut s'il n'y a pas de redéfinition, dans l'un des fichiers suivants: /etc/bashrc, home/utilisateur/.bashrc .
Lors de l'initialisation pour un utilisateur, le script home/utilisateur/.bashrc appelle /etc/bashrc pour définir certaines variables et utilise par ailleurs des variables définies directement dans ce .bashrc.
Ainsi, PS1 est-elle définie par défaut (voir plus haut) puis éventuellement redéfinie par /etc/bashrc ou home/utilisateur/.bashrc. L'ordre entre ces deux derniers fichiers est important: le dernier lu a raison!
Pour affecter une valeur spécifique à PS1, il faut donc soit agir sur /etc/bashrc (valable alors par défaut pour tous les utilisateurs du système sous réserve que leurs .bashrc respectifs ne modifient pas cette variable) soit sur le .bashrc de l'utilisateur en définissant PS1 en fin de fichier.
Pour mettre en oeuvre la dernière solution, il suffit d'ouvrir une console utilisateur (ouvrir un "terminal") puis de saisir les commandes suivantes:
gedit /home/utilisateur_en_question/.bashrc (le "." est important; entête d'un nom de fichier, il le rend "caché". Il doit bien s'agir de .bashrc).
Se positionner sur la dernière ligne.
Saisir les valeurs du PS1 désirées comme indiqué dans
http://lea-linux.org/trucs/item.436.html par exemple.
Sauvegarder.
Fermer gedit.
Fermer le terminal.
Réouvrir un terminal. Les modifications sont normalement prises en compte!
Voilà; un peu de lecture, puis du tâtonnement et enfin, un prompt personnalisé!