Installer Oh My Zsh sur Linux sans perdre la main

Oh My Zsh ajoute une configuration et des extensions à Zsh, mais n’installe pas Zsh lui-même. La bonne séquence consiste à vérifier le shell, lire l’installateur, l’exécuter sans changer le shell de connexion, puis régler ~/.zshrc avec peu de plugins. Vous pouvez ensuite revenir à Bash et supprimer le framework sans effacer votre configuration.
Sommaire
Si vous devez d’abord vous repérer dans une console, commencez par les premiers gestes dans le terminal. Si votre seul besoin est une invite Bash plus lisible, le configurateur de prompt Bash évite de changer de shell.
Vérifier Zsh avant Oh My Zsh
Oh My Zsh est un framework de configuration pour Zsh. Il ne remplace ni le shell, ni le terminal, ni le système de paquets. Sur une installation Linux classique, vérifiez les trois commandes dont l’installateur dépend :
zsh --version
git --version
curl --version
La documentation officielle d’Oh My Zsh demande que Zsh soit installé, recommande Zsh 5.0.8 ou une version plus récente, et conseille Git 2.4.11 ou plus. curl peut être remplacé par wget si votre distribution ne fournit pas le premier. Si zsh --version renvoie une commande introuvable, installez le paquet Zsh avec le gestionnaire de votre distribution, puis recommencez cette vérification.
Une fois Zsh disponible, lancez-le sans changer votre shell de connexion :
zsh
echo $SHELL
exit
Le premier affichage ouvre une session Zsh. exit la ferme et rend la main au shell précédent. Le résultat de echo $SHELL décrit le shell de connexion déclaré, pas forcément le programme actuellement ouvert : c’est pourquoi les deux notions doivent rester séparées.
Lire l’installateur avant de le lancer
La commande en une ligne est pratique, mais elle masque le fichier exécuté. Téléchargez d’abord le script officiel dans un dossier temporaire, inspectez-le, puis contrôlez sa syntaxe :
mkdir -p "$HOME/oh-my-zsh-verification"
cd "$HOME/oh-my-zsh-verification"
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -o install.sh
less install.sh
sh -n install.sh
wc -c < install.sh
sha256sum install.sh
Le 18 septembre 2026, le script officiel téléchargé depuis le dépôt Oh My Zsh mesurait 20 398 octets et son empreinte SHA-256 était 5574b96e94dbcb769f0d1592fa83aeb6ca2caf41c6ae5d76fcc7f04c524b4f55. Les contrôles sh -n et bash -n ne signalent aucune erreur sur ce fichier. Ces deux commandes lisent la syntaxe ; elles ne prouvent pas que Zsh, Git ou votre session sont correctement configurés.
Le script documente lui-même ses variables importantes : ZSH pour le dossier du framework, ZDOTDIR pour le dossier des fichiers Zsh, CHSH pour le changement de shell et RUNZSH pour le lancement automatique. Lire ces variables suffit à comprendre la portée de l’installation. Vous pouvez aussi ouvrir directement le script install.sh officiel dans son dépôt.
Installer sans modifier le shell de connexion
Faites une copie de votre configuration existante avant de lancer le script :
if [ -f "$HOME/.zshrc" ]; then
cp "$HOME/.zshrc" "$HOME/.zshrc.avant-oh-my-zsh"
fi
sh install.sh --unattended
L’option --unattended désactive à la fois le changement du shell par défaut et le lancement immédiat de Zsh. Le framework est installé dans ~/.oh-my-zsh et un nouveau ~/.zshrc est créé à partir du modèle officiel. Quand un ancien fichier existe, le script le conserve sous ~/.zshrc.pre-oh-my-zsh, sauf si vous avez choisi une configuration déjà conservée avec l’option --keep-zshrc.
Le script ne choisit donc pas à votre place la prochaine session. Testez la configuration sans toucher au shell de connexion :
zsh -l
command -v zsh
print -r -- $ZSH
exit
La première commande ouvre un Zsh de connexion. command -v zsh donne le binaire utilisé et print -r -- $ZSH relit le chemin du framework. Si l’invite ne change pas, lisez ~/.zshrc avant de relancer l’installation : le problème se trouve souvent dans le chemin du dépôt ou dans un fichier de démarrage différent.
Régler ~/.zshrc sans charger une configuration opaque
Le modèle officiel contient déjà les points de réglage essentiels. Une configuration minimale ressemble à ceci :
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git)
source $ZSH/oh-my-zsh.sh
ZSH_THEME choisit le prompt, plugins charge les extensions demandées et la dernière ligne source le framework. Les plugins sont séparés par des espaces, pas par des virgules. Commencez par git, ouvrez son fichier README dans ~/.oh-my-zsh/plugins/git/, puis ajoutez une extension seulement si vous savez quelle commande ou quel alias elle apporte.
Le dépôt officiel compte 367 répertoires de plugins et 143 fichiers de thème au 18 septembre 2026. Ce comptage provient des endpoints GitHub contents/plugins et contents/themes sur la branche master. Ce nombre décrit la taille du catalogue, pas une sélection à charger en bloc. Trop de plugins ralentissent le démarrage et rendent les alias difficiles à retrouver.
Le thème de prompt ne change pas la police ni les couleurs de la fenêtre du terminal. Certains thèmes attendent une Powerline Font ou une Nerd Font et affichent alors des symboles inattendus. Si l’affichage devient illisible, revenez temporairement à ZSH_THEME="robbyrussell", ouvrez une nouvelle session et relisez le thème avant d’ajouter une police.
Pour voir le changement sans fermer votre terminal, rechargez le fichier :
source ~/.zshrc
print -r -- $ZSH_THEME
plugin="git"
print -r -- $plugins
La personnalisation de Bash suit une autre logique. La page sur le prompt Bash réversible reste la meilleure option si vous voulez uniquement afficher le dossier courant, l’utilisateur ou l’état du shell sans passer à Zsh.
Le détail important : ZDOTDIR
Zsh ne cherche pas toujours ses fichiers dans votre répertoire personnel. Si ZDOTDIR est défini, les fichiers de démarrage sont lus dans ce dossier ; sinon Zsh utilise $HOME. La documentation officielle décrit l’ordre suivant :
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
.zshrc est lu par une session interactive. .zprofile concerne une session de connexion et .zlogout intervient à la sortie d’une session de connexion. Cette différence explique qu’un réglage présent dans un fichier puisse fonctionner dans une fenêtre et disparaître dans une autre.
Relisez le dossier réellement utilisé avant de modifier une configuration :
print -r -- "ZDOTDIR=${ZDOTDIR:-$HOME}"
print -r -- "ZSH=${ZSH:-non défini}"
ls -la "${ZDOTDIR:-$HOME}"
Si vous utilisez un dépôt de fichiers de configuration, le dossier du framework et le dossier des fichiers de démarrage peuvent être différents. Le script officiel sait prendre en compte ZDOTDIR ; l’essentiel est de relire le chemin inscrit dans ~/.zshrc avant d’ajouter des lignes.
La référence technique reste la documentation officielle des fichiers de démarrage Zsh. Elle explique aussi les fichiers globaux installés par le système, qui peuvent être lus avant ceux de votre compte.
Choisir un plugin ou un thème selon un besoin concret
Un plugin a sa place quand il raccourcit une action que vous faites réellement. Le plugin git fournit par exemple des alias et des fonctions liés aux dépôts. Pour comprendre ce qu’il ajoute, lisez son README, puis vérifiez les alias présents :
alias | grep '^g'
functions | grep '^git_'
Un résultat vide n’est pas une panne : le plugin peut ne pas définir le nom que vous cherchez, ou le fichier n’est pas chargé. Relisez la valeur de plugins et la ligne source avant de modifier autre chose. Les alias peuvent aussi entrer en conflit avec une habitude Bash, surtout si vous avez déjà un fichier de configuration personnel.
Pour les mises à jour, le réglage du modèle officiel propose trois modes : automatique, rappel ou désactivé. Une configuration prudente peut commencer par un rappel :
zstyle ':omz:update' mode reminder
zstyle ':omz:update' frequency 14
Vous pouvez déclencher une mise à jour manuelle avec :
omz update
Lisez ensuite les changements de ~/.zshrc, de vos plugins et de votre thème. La commande omz update --unattended n’est plus proposée par le projet, car elle peut produire des effets de bord. Le dépôt officiel fournit aussi un script de mise à niveau avec des options plus précises.
Revenir en arrière proprement
Si Oh My Zsh ne correspond pas à votre usage, désinstallez le framework depuis une session Zsh :
uninstall_oh_my_zsh
La commande supprime le framework et restaure la configuration précédente selon les sauvegardes créées pendant l’installation. Avant de confirmer, vérifiez les fichiers proposés et gardez la copie ~/.zshrc.avant-oh-my-zsh tant que vous n’avez pas retrouvé votre prompt habituel.
Si vous aviez choisi Zsh comme shell de connexion et voulez revenir à Bash, utilisez le chemin réellement installé :
chsh -s "$(command -v bash)"
exit
Fermez ensuite la session graphique ou reconnectez-vous. chsh peut refuser un binaire qui ne figure pas dans /etc/shells, ou demander une autorisation que votre compte ne possède pas. Dans ce cas, gardez Zsh installé, utilisez-le avec zsh quand vous le souhaitez et corrigez le shell de connexion avec la procédure prévue par votre distribution.
Les plugins, thèmes et options disponibles peuvent évoluer avec la version de Zsh, le terminal et la distribution. Relire le fichier README de l’extension avant une modification reste le contrôle le plus rapide.
Pour revenir à la page générale, consultez les guides Linux et terminal et choisissez ensuite l’action qui correspond à votre besoin.