Comment changer le shell par défaut sur Linux avec chsh

Un shell est un programme qui agit comme la couche la plus externe d'un système d'exploitation à travers laquelle vous interagissez avec ses divers programmes et services. La plupart des distributions Linux utilisent bash comme shell par défaut. Cependant, vous êtes libre de choisir un autre shell pour votre système si vous le souhaitez.

Outre bash, Linux prend également en charge d'autres programmes shell, tels que ksh, zsh, csh et fish. Chacun de ces obus a une caractéristique unique qui les distingue de bash et des autres obus.

Plongeons-nous pour en savoir plus sur le shell et comment changer votre shell Linux par défaut.

Qu'est-ce qu'une coquille et quelle est sa signification ?

Un shell est un programme informatique qui vous permet de contrôler divers éléments d'un système d'exploitation à l'aide de commandes. Lorsque vous utilisez un terminal sous Linux, vous interagissez essentiellement avec le shell situé entre vous et le système d'exploitation et lui demandez d'exécuter des commandes.

La plupart des shells Linux sont livrés avec une interface de ligne de commande (CLI) et nécessitent une connaissance des commandes (et de leurs syntaxes). Lorsque vous entrez une commande dans le shell, il recherche le programme (dans votre commande) dans le chemin système pour le déterminer. S'il trouve une correspondance, il exécute la commande avec succès et vous obtenez la sortie.

En un mot, un shell offre un moyen puissant et efficace de communiquer avec le système d'exploitation.

Connexe: 5 raisons de choisir le terminal Linux plutôt que l'interface graphique

Pourquoi voudriez-vous changer votre shell par défaut ?

De manière générale, la plupart des shells que vous rencontrerez sur Linux ou tout autre système basé sur Unix offrent à peu près les mêmes fonctionnalités pour la plupart : ils vous permettent d'interagir avec/contrôler divers éléments du système de manière pratique.

Bash , qui est préinstallé sur la plupart des distributions Linux, en est un parfait exemple. Cependant, lorsqu'il est empilé contre certains des autres shells, comme zsh, par exemple, il est à la traîne en termes de fonctionnalités.

Zsh, d'autre part, apporte un tas de fonctionnalités supplémentaires, telles que l'auto-complétion, l'auto-correction, le cd automatique, l'extension de chemin récursif et la prise en charge des plugins, ce qui lui donne un avantage sur bash et quelques autres shells.

Bien sûr, ce ne sont que quelques avantages que vous obtenez avec zsh. D'autres shells proposent également leur propre ensemble de fonctionnalités et d'améliorations, ce qui rend l'expérience de travail avec eux plus facile et plus pratique.

Comment changer votre shell Linux par défaut

Il existe plusieurs façons de modifier le shell par défaut sous Linux. Nous allons démontrer le processus avec l'utilitaire chsh dans ce guide, car il s'agit d'une méthode de lot plus fiable et plus pratique.

Chsh est un utilitaire de ligne de commande sur les systèmes d'exploitation basés sur Unix qui vous permet de modifier le shell par défaut. Il est pré-installé sur à peu près toutes les distributions Linux.

Pour l'utiliser, il vous suffit de fournir le chemin du shell que vous souhaitez utiliser dans le terminal, et il se charge lui-même du reste du processus. Cependant, vous devrez suivre quelques étapes avant de pouvoir modifier votre shell par défaut.

Voici une ventilation de ces étapes.

Étape 1 : Identification des shells installés

Avant d'installer un nouveau shell, il est important de savoir quels shells vous avez déjà sur votre système Linux. Pour cela, ouvrez le terminal et tapez :

 cat /etc/shells

À moins que vous n'ayez installé un nouveau shell, votre sortie devrait ressembler à celle de l'image ci-jointe.

Étape 2 : Installation d'un nouveau shell

Une fois que vous avez identifié les shells installés sur votre système, l'étape suivante consiste à installer un nouveau shell. À cet égard, il existe une variété d'options disponibles sur Linux, chacune avec son lot d'avantages et d'inconvénients. Ainsi, en fonction de vos préférences et de ce que vous souhaitez obtenir avec la coque, vous pouvez en choisir une qui répond à vos besoins.

Ce guide montrera l'installation et la configuration du shell zsh. N'hésitez pas à remplacer "zsh" par le nom de votre shell dans les commandes qui suivent.

Pour installer zsh sur des distributions basées sur Debian :

 sudo apt install zsh

Vous pouvez installer zsh sur Arch Linux en utilisant pacman :

 sudo pacman -Syu zsh

L'installation de zsh sur Fedora, CentOS et d'autres distributions RHEL est également simple :

 sudo dnf install zsh

Une fois l'installation terminée, exécutez la commande ci-dessous pour vérifier à nouveau les shells installés sur votre système :

 cat /etc/shells

Ensuite, vérifiez si le shell installé fonctionne. Pour cela, saisissez le nom de votre shell dans le terminal. Si c'est zsh, exécutez :

 zsh

Pour revenir au shell par défaut, tapez exit et appuyez sur Entrée .

Étape 3 : définir un shell comme shell par défaut pour votre système

Si votre shell nouvellement installé apparaît dans la liste des shells installés et fonctionne correctement, vous êtes maintenant prêt à le définir comme shell par défaut pour votre système. Notez qu'avec chsh, vous pouvez modifier à la fois le shell interactif par défaut et le shell de connexion par défaut.

Un shell de connexion est un shell dans lequel vous obtenez un terminal après vous être connecté à votre système, tandis qu'un shell interactif est disponible tout le temps après votre connexion.

Pour définir zsh (ou tout autre shell) comme shell de connexion par défaut, ouvrez le terminal et exécutez :

 chsh

Lorsque vous êtes invité à saisir un mot de passe, entrez le mot de passe de votre compte et appuyez sur Entrée .

Ensuite, tapez le chemin absolu de votre shell installé. Cela changera le shell de connexion par défaut pour votre système. Pour changer le shell interactif par défaut en zsh :

 chsh -s /usr/bin/zsh

Le système vous demandera d'entrer votre mot de passe pour appliquer les modifications. Tapez votre mot de passe et appuyez sur Entrée .

Une fois que vous avez défini zsh (ou un autre shell) comme shell par défaut ou/et interactif, déconnectez-vous et reconnectez-vous pour que les modifications se reflètent sur votre système.

Maintenant, lorsque vous vous reconnectez et ouvrez le terminal, le système vous accueillera avec le configurateur de shell. Avant de pouvoir commencer à utiliser votre nouveau shell, vous devez sélectionner ici les options qui correspondent aux exigences de votre shell.

Avec tout défini, vérifiez si votre shell nouvellement installé est défini comme shell par défaut du système. Pour ce faire, exécutez la commande suivante :

 echo $SHELL

Si vous l'avez défini sur zsh, vous verrez son chemin dans le terminal. Dans le cas d'un autre shell, il doit refléter le chemin en conséquence.

Notez que si vous souhaitez modifier le shell par défaut pour les autres utilisateurs de votre système, vous devrez le faire individuellement pour chaque utilisateur. Par exemple, si vous souhaitez modifier le shell par défaut de l'utilisateur sam , vous devrez exécuter la commande ci-dessous :

 sudo chsh -s /usr/bin/zsh sam

Changer le shell par défaut pour une expérience personnalisée

Un shell riche en fonctionnalités apporte un certain nombre d'avantages supplémentaires au-delà de ceux inhérents au shell par défaut. Et comme la plupart de vos interactions et opérations Linux se déroulent sur la ligne de commande, changer votre shell par défaut en un shell offrant plus de fonctionnalités est l'une des premières étapes pour personnaliser votre environnement de travail.

En fait, vous devriez envisager non seulement de modifier le shell par défaut, mais également de le personnaliser et de le configurer comme vous le souhaitez pour qu'il fonctionne pour améliorer l'ensemble de l'expérience. Un bon endroit pour commencer à personnaliser votre shell est de commencer à utiliser des alias de ligne de commande qui rendent la saisie de commandes dans le terminal rapide et pratique.