Un terminal Mac minimaliste pour les fans de Linux
J’ai une confession à faire : Je suis un utilisateur de Mac depuis plus de 10 ans maintenant. Au début, j’ai ressenti un peu de honte, étant donné ma forte expérience de Linux, mais le Mac me donne un shell de type Unix et un excellent gestionnaire de fenêtres. Grâce à ces antécédents, je dispose d’un ensemble de fonctionnalités qui fonctionneront sous macOS mais qui seront familières aux utilisateurs de Linux. Il n’y a aucune raison qu’il ne puisse pas se porter sur Linux (et il l’a fait !).
Utiliser iTerm2 sur un Mac
Pendant longtemps, mon terminal préféré était le Terminal.app intégré de base, mais je suis récemment passé à iTerm2 parce qu’il a une bien meilleure personnalisation et un meilleur support des profils. L’un de ses principaux gains pour moi est qu’il est facile de transplanter les paramètres de Mac à Mac. Pour l’utilisation quotidienne, je préfère le thème Solarized Dark, mais pour les présentations, j’ai un profil séparé qui agrandit le texte et utilise un fond noir uni avec des couleurs plus vives.
La première chose que je fais pour rendre iTerm2 utilisable est de configurer les flèches Ctrl+Gauche et Ctrl+Droite pour respecter le comportement classique du terminal qui consiste à sauter au début et à la fin de la limite d’un mot. Pour ce faire, naviguez dans Préférences > Profils > Votre profil > Touches et entrez ce qui suit.
- Court-circuit clavier : ^←
- Action : Envoyer la séquence d’échappement
- Esc+ : b
Puis l’autre :
- Court-circuit clavier : ^→
- Action : Envoyer la séquence d’échappement
- Esc+ : f
Apprenez-en plus sur ce que vous pouvez faire avec iTerm2 et profitez de l’expérience personnalisée.
Un prompt de commande simple
Je suis l’un de ces utilisateurs de prompt de terminal ennuyeux. Je n’inclus pas de répertoire Git ou de code de sortie, et je n’utilise qu’une seule ligne. Le seul composant fantaisiste que j’utilise est kubectx, qui inclut le contexte Kubernetes actuel. En tant qu’ingénieur de fiabilité de site (SRE) dédié à OpenShift, je dois exécuter des commandes avec le contexte approprié, et kubectx
permet de savoir facilement où je suis lorsque je tape. Ainsi, mon PS1 Bash est l’ennuyeux username@host cwd $
, sauf pour le préfixe de contexte Kubernetes.
Il ne fait aucun doute que je suis du côté minimaliste, par rapport à certains terminaux fantaisistes que j’ai vus. Certaines personnes aiment la transparence, et d’autres préfèrent beaucoup d’informations sur leurs invites – de l’heure au code de sortie et tout le reste. Je trouve cela distrayant dans mes terminaux, alors j’apprécie ces configurations de loin.
Des dotfiles magnifiquement complexes
Par rapport à mon terminal minimaliste, il est facile de voir où je mets mes efforts maximalistes : le déploiement de mes dotfiles, y compris mon .bash_profile
et ma configuration Mac globale.
J’utilise une série de Makefiles, hébergés par GitHub, pour gérer ma configuration Mac. Cela tire dans mon mécanisme de déploiement spécifique à dotfile, qui est également dans GitHub. Pourquoi tout cet outillage autour de la sécurité, demandez-vous ? Les professionnels de l’informatique comme les amateurs ont besoin d’un moyen robuste pour placer des éléments de données sécurisés sur de nouveaux systèmes. Peut-être préférez-vous que votre configuration SSH soit cachée, ou peut-être déployez-vous des informations d’identification par le biais d’un système tiers. Je trouve utile de conserver mes données sécurisées avec tout le reste, et j’ai résolu ce problème avec Ansible Vault. Tous mes secrets sont stockés dans Git, chiffrés avec Ansible Vault. Le déchiffrement est géré avec Makefiles.
Que je fasse une installation pour la première fois ou que je mette à jour des dotfiles existants, je dois (bien sûr) avoir Ansible Vault, et pour éviter d’avoir à installer cela partout, je le mets dans un conteneur que j’exécute avec Docker, que j’ai effectivement installé partout. Je mets la phrase de passe de décryptage dans un fichier, run make
, et je nettoie tout avec make clean
. (Vous pouvez en apprendre davantage en explorant les dotfiles.)
Je dirai que ce schéma de gestion peut être exagéré, mais certaines personnes aiment les invites de terminal compliquées. Donc peut-être que dans la balance, tout s’équilibre.