# Customisation Terminal



## Alak (7 Juillet 2009)

Bonjour,

Voila je vien d'avoir mon MBP et j'aimerai avoir un Terminal dans le meme genre que celui de l'image ci dessou :





Merci d'avance 

(ne pas faire attention a ce que le mec fait c'est pour installer visor (mod pour avoir le terminal a la quake) )

---------- Nouveau message ajouté à 21h07 ---------- Le message précédent a été envoyé à 20h02 ----------

je précise : du prompt (fond d'un autre couleur et pis des partie coloré )
ainsi que les autres partie coloré. j'ai bien une idée d'ou ça se passe mais pas de comment faire éxactement.


----------



## PA5CAL (7 Juillet 2009)

Bonsoir

Une rapide recherche sur Google donne déjà quelques réponses satisfaisantes. Par exemple :
- Customize Prompt On Mac OS X
- Color terminal under Mac OS X
- Un terminal mac os x plus sexy
- Color Your OS X Command Prompt
- ANSI Escape sequences
- ...


----------



## PA5CAL (8 Juillet 2009)

Je rappelle brièvement les principes.

Pour changer provisoirement le prompt, il suffit de taper une commande :*PS1="*_chaîne de description du prompt_*"*​
Pour changer le prompt durablement, il faut créer un fichier « *.bash_profile* » dans le dossier utilisateur (i.e. le dossier « *~* », c'est-à-dire celui repéré par la petite maison) et y enregistrer une commande :*export PS1="*_chaîne de description du prompt_*"*​

La chaîne de description du prompt peut contenir des caractères courants et des caractères de commande comme ceux-ci :*\a* : tintement (son d'alerte par défaut)
*\d* : date (en anglais)
*\e* : caractère Escape (pour débuter une séquence ANSI)
*\h* : nom de la machine hôte (jusqu'au premier point)
*\H* : nom de domaine de la machine hôte
*\n* : saut de ligne
*\r* : retour en début de ligne
*\s* : nom de l'interpréteur de commande (shell)
*\t* : heure (format HH:MM:SS sur 24 heures)
*\T* : heure (format HH:MM:SS sur 12 heures)
*\@* : heure (format HH:MM AM/PM)
*\u* : nom de l'utilisateur
*\v* : numéro de version de l'interpréteur de commande (shell)
*\V* : numéro de version et niveau de patch de l'interpréteur de commande
*\w* : chemin du dossier de travail
*\W* : nom du dossier de travail
*\!* : numéro d'ordre de la commande dans l'historique
*\#* : numéro d'ordre de la commande
*\$* : le caractère # si l'UID est 0 (root), le caractère $ sinon
*\nnn* : caractère dont le code octal est _nnn_
*\\* : le caractère \
*\[*...*\]* : séquence de caractères non affichés (typiquement une séquence ANSI).​
Pour changer la couleur et les attributs du texte, on peut utiliser des séquences ANSI du type :*\[\e[*X*m\]
\[\e[*X*;*Y*m\]
\[\e[*X*;*Y*;*Z*m\]*​où X, Y et Z sont des nombres choisis comme suit :

- pour changer l'attribut du texte0 : Normal
1 : *G*ras
4 : Souligné
5 : Clignotant
7 : Négatif
8 : Caché​- pour changer la couleur du texte&#9674; 30 : Noir
&#9674; 31 : Rouge
&#9674; 32 : Vert
&#9674; 33 : Jaune
&#9674; 34 : Bleu
&#9674; 35 : Magenta
&#9674; 36 : Cyan
&#9674; 37 : Blanc​- pour changer la couleur du fond&#9830; 40 : Noir
&#9830; 41 : Rouge
&#9830; 42 : Vert
&#9830; 43 : Jaune
&#9830; 44 : Bleu
&#9830; 45 : Magenta
&#9830; 46 : Cyan
&#9830; 47 : Blanc​


----------



## MacBeuss (22 Septembre 2009)

bonjour !

J ai essayer de changer la variable PS1 comme ceci : 

PS1="\h:\W \u\$\[\e[0;36;41m\]"

Cela a pour effet de me changer le prompt, mais aussi toute les commandes que je passe au clavier. Et je voudrait uniquement changer mon prompt moi. Que dois je faire ? 

Merci d avance !


----------



## PA5CAL (22 Septembre 2009)

Ta variable PS1 a pour effet d'afficher le prompt dans la couleur courante (« \h:\W \u\$ »), puis de modifier la couleur pour toute la suite (« \[\e[0;36;41m\] »). Il en résulte que le premier prompt est affiché dans la couleur par défaut du Terminal, et que les commandes et les prompts qui suivent sont affichés en cyan (36) sur fond rouge (41). Pas top... 

Si tu souhaites au contraire afficher ton prompt en cyan sur fond rouge et laisser les commandes dans la couleur par défaut, alors il faut fixer la couleur avant de spécifier le contenu du prompt, puis réinitialiser la couleur d'affichage.

Cette réinitialisation des couleurs peut être réalisée à l'aide de la séquence  « \[\e[m\] ».

La variable PS1 devient donc :PS1="\[\e[0;36;41m\]\h:\W \u\$\[\e[m\] "​


----------

