Points clés à retenir
- macOS offre la possibilité de personnaliser l’invite zsh dans Terminal, la rendant unique et adaptée à vos besoins.
- Un profil .zshrc permet de sauvegarder toutes les modifications et configurations de votre invite zsh.
- Vous pouvez modifier l’invite zsh en y intégrant des valeurs personnalisées pour des variables comme %n (nom d’utilisateur), %m (nom du modèle de Mac), %W (date) et %T (heure).
Que vous souhaitiez une invite zsh avec une couleur distincte, des informations supplémentaires ou un design minimaliste pour maximiser l’espace, macOS vous le permet. Découvrez comment personnaliser l’invite zsh dans Terminal pour qu’elle se démarque, quelle que soit sa configuration.
Introduction à l’invite zsh
Lorsque vous lancez l’application Terminal sur votre Mac, elle affiche des renseignements utiles, tels que votre dernière connexion, ainsi que l’invite de commande. Voici généralement l’aspect de l’invite par défaut :
Dernière connexion : Mer 3 Fév 22:00:40 sur console
alvin@MacBook-Air ~ %
L’invite zsh affiche une ligne de texte comprenant votre nom d’utilisateur et le modèle de votre ordinateur, comme MacBook Air, MacBook Pro ou Mac mini. Le tilde (~) indique que l’invite se situe dans le répertoire personnel.
Si vous accédez à un autre répertoire dans le système de fichiers via Terminal, le nom de ce répertoire s’affichera à la place du tilde.
Créer un profil Z Shell pour centraliser vos paramètres
Modifier l’apparence par défaut nécessite généralement de manipuler les fichiers système. Cependant, les mises à jour de macOS peuvent réinitialiser ces fichiers, annulant ainsi vos modifications. Pour éviter cela, vous pouvez créer un fichier de configuration dédié, appelé fichier « dot », pour votre profil zsh. Ce fichier stockera toutes vos personnalisations de l’invite.
Ce fichier « dot » n’est pas présent par défaut sur macOS, il faudra donc le créer. Il est recommandé de créer un nouveau profil .zshrc afin de centraliser les configurations, comme l’apparence et le comportement de l’invite zsh. Voici la méthode pour créer ce profil zsh :
touch ~/.zshrc
La commande « touch » ne créera le fichier .zshrc que s’il n’existe pas déjà. S’il existe, la commande restera sans effet.
Cela créera un profil .zshrc dans le répertoire personnel de votre compte utilisateur. Vous pouvez le visualiser sous le chemin /Users/<nom_utilisateur> dans le Finder, si vous avez activé l’affichage des fichiers système cachés sur votre Mac.
Par la suite, le profil zsh sera accessible pour les shells interactifs, à chaque ouverture de Terminal. Il ne sera utilisé pour les shells de connexion que si d’autres fichiers spécifiques à la connexion, comme .zprofile et .zlogin, ne sont pas présents.
Personnaliser l’invite zsh dans le terminal
L’invite zsh par défaut inclut habituellement des informations telles que le nom d’utilisateur, le nom de la machine et l’emplacement, en commençant par le répertoire personnel. Ces données sont stockées dans le fichier système du shell zsh, situé à l’adresse /etc/zshrc :
PS1="%n@%m %1~ %#"
Dans cette chaîne de variables :
- %n représente le nom d’utilisateur de votre compte.
- %m correspond au nom du modèle de votre Mac.
- %1~ indique le chemin du répertoire de travail actuel, où le ~ remplace l’emplacement du répertoire $HOME.
- %# signifie que l’invite affichera # si le shell est exécuté avec les privilèges root (administrateur), et % dans le cas contraire.
Pour personnaliser l’invite zsh par défaut, vous devez ajouter des valeurs appropriées pour modifier son apparence.
Voici comment faire. Lancez Terminal, entrez la commande suivante et validez avec la touche Entrée :
nano ~/.zshrc
Si le fichier .zshrc existait déjà, il peut contenir des informations. S’il n’existait pas lors de l’exécution de la commande « touch » mentionnée précédemment, il sera vide. Vous pouvez ajouter une nouvelle ligne avec le texte PROMPT=’…’ ou PS1=’…’, en intégrant les valeurs souhaitées entre les points de suspension.
Pour une modification simple de l’invite zsh, vous pouvez insérer ces valeurs dans le fichier .zshrc :
PROMPT='%n:~$'
Appuyez sur Ctrl + O pour valider les modifications apportées au fichier, puis sur Ctrl + X pour quitter l’éditeur nano.
Ouvrez une nouvelle fenêtre de terminal (Cmd + T) pour confirmer et afficher vos modifications. Votre nouvelle invite zsh affichera votre nom d’utilisateur, le répertoire personnel et le symbole $ à la fin. Vous pouvez ajouter des espaces dans la variable PROMPT entre %n, ~ et $ si vous souhaitez que les variables soient espacées dans le terminal.
Si vous souhaitez un nom d’utilisateur personnalisé, remplacez %n par le texte de votre choix. Par exemple :
PROMPT='nomperso~$'
À présent, si vous ouvrez une nouvelle fenêtre de terminal, vous verrez ceci :
Si vous désirez modifier manuellement un autre paramètre, vous pouvez le faire en remplaçant les variables par défaut en utilisant le format de la variable PS1 ci-dessus. Vous pouvez ajouter ou supprimer des informations de l’invite zsh en fonction de vos besoins.
Si cette méthode vous paraît trop compliquée, utilisez un site comme Générateur d’invite Zsh pour vous faciliter la personnalisation de votre shell Z.
Ajouter la date et l’heure à l’invite zsh
Outre votre nom d’utilisateur, vous pouvez ajouter la date ou l’heure actuelle, ce qui évite de devoir détourner le regard de la fenêtre du terminal pour vérifier ces informations.
Lancez Terminal et ouvrez le profil .zshrc :
nano ~/.zshrc
Pour inclure la date dans l’invite, utilisez %D pour afficher la date au format aa-mm-jj ou %W pour l’afficher au format mm/jj/aa. Ainsi, votre nouvelle invite ressemblera à ceci :
PROMPT='%n:%W:~$'
Nous avons utilisé deux points (:) dans la variable PROMPT pour insérer une séparation visuelle, mais vous pouvez utiliser un espace ou un autre caractère. Par exemple, nous allons utiliser le signe supérieur à (>) pour séparer l’heure du répertoire actuel.
Si vous souhaitez inclure l’heure système dans l’invite zsh, ajoutez %T pour l’heure au format 24 heures, %t pour l’heure au format 12 heures, ou %* pour afficher l’heure au format 24 heures avec les secondes.
PROMPT='%n@%T>~$'
Afficher la date et l’heure à droite de votre invite zsh
Pour afficher ces informations à droite de l’invite zsh, ajoutez la variable RPROMPT au fichier zshrc. Par exemple, pour ajouter la date et l’heure, saisissez ce qui suit :
RPROMPT='%D @ %T'
Votre invite aura alors cet aspect :
Ajouter de la couleur au texte de l’invite zsh
En plus de personnaliser l’application Terminal avec des couleurs, vous pouvez colorer le texte de votre profil zsh sur Mac pour un rendu visuel plus attrayant. Lancez Terminal et ouvrez le profil .zshrc :
nano ~/.zshrc
Le shell Z prend en charge la couleur et les nuances de gris du texte d’invite pour compléter l’arrière-plan. Vous pouvez choisir une couleur de premier plan (texte) parmi les options suivantes : noir, blanc, jaune, vert, rouge, bleu, cyan et magenta. Voici comment les utiliser :
PROMPT='%F{cyan}%n%f:~$'
Si vous souhaitez choisir une nuance de couleur zsh spécifique, vous pouvez opter pour l’une des 256 couleurs 8 bits prises en charge par le terminal. Voici comment utiliser les valeurs numériques des couleurs :
PROMPT='%F{51}%n%f:~$'
Vous devez placer les variables de couleur de premier plan %F et %f autour du texte que vous souhaitez colorer.
Ajouter des effets visuels à l’invite zsh
Si la coloration du texte ne vous suffit pas, vous pouvez mettre en surbrillance votre invite zsh pour la rendre plus visible. Pour commencer, vous pouvez mettre l’invite zsh en gras :
PROMPT='%B%F{51}%n%f%b:~$'
L’ajout de %B au début et %b à la fin autour du texte concerné le mettra en gras.
De même, vous pouvez insérer %S au début et %s à la fin pour surligner le texte. La surbrillance prendra la couleur que vous avez choisie entre les variables %S et %s.
PROMPT='%S%F{51}%n%f%s:~$'
Vous pouvez également souligner le texte de l’invite zsh. Pour cela, incluez la variable %U au début et %u à la fin du texte concerné.
PROMPT='%U%F{51}%n%f%u:~$'
Supprimer les informations de dernière connexion de l’invite zsh
Masquer ou désactiver la ligne supérieure indiquant l’heure de dernière connexion dans l’application Terminal peut rendre votre invite zsh plus épurée. Utilisez la commande suivante pour masquer ces informations :
touch ~/.hushlogin
À la prochaine ouverture de Terminal, vous ne verrez plus rien au-dessus de l’invite zsh.
Réinitialiser votre personnalisation zsh
Si vous souhaitez repartir de zéro, vous pouvez réinitialiser la variable PROMPT ou PS1 à sa valeur par défaut :
PROMPT="%n@%m %1~ %#"
Si vous avez ajouté des informations à droite de l’invite zsh en utilisant RPROMPT, supprimez-les de .zshrc.
Vous pouvez également supprimer en toute sécurité les variables PROMPT/PS1 et RPROMPT du fichier .zshrc. Les paramètres du fichier .zshrc ne s’appliquent qu’au profil utilisateur actuel. Si vous les supprimez tous les deux, les paramètres par défaut stockés dans le fichier système du shell Z (situé dans /etc/zshrc) seront utilisés.
Maintenant que vous avez toutes les clés pour personnaliser l’invite zsh, n’hésitez pas à expérimenter. Vous pouvez mettre en gras, souligner, raccourcir et même intégrer plus d’informations. Si vous n’êtes pas satisfait de vos changements, vous pourrez toujours revenir rapidement à l’apparence par défaut.