GNU/Linux >> Tutoriels Linux >  >> Debian

Comment changer le shell par défaut sous Linux

Cet article explique comment changer le shell par défaut sous Linux. Cela vous permet de définir bash, sh, zsh, csh, fish, etc. comme shell.

L'article fournit des instructions sur la façon de changer le shell de connexion à partir de la ligne de commande avec chsh, ou comment changer le shell pour une application de terminal spécifique uniquement. Bien que l'article soit destiné aux utilisateurs de Linux, cela devrait également fonctionner sur d'autres systèmes de type Unix.

Comment changer le shell de connexion par défaut avec chsh (depuis la ligne de commande)

Pour changer le shell de connexion par défaut, nous utilisons chsh , un outil en ligne de commande pour changer le shell de connexion.

Ce programme change le shell de connexion en changeant le /etc/passwd Fichier et paramétrage du $SHELL Variable d'environnement. Vous pouvez remplacer le shell par défaut dans une application de terminal en définissant le shell dans les paramètres du terminal - les détails peuvent être trouvés dans la deuxième partie de cet article.

Une note aux utilisateurs de Fedora. Fedora n'a pas installé chsh par défaut et pour l'utiliser, vous avez besoin d'un paquet appelé. pour installer util-linux-user . Si vous souhaitez ignorer l'installation de ce package, vous pouvez lchsh Pour changer le shell de connexion par défaut :

sudo lchsh $USER

Il est important de noter qu'un utilisateur normal avec chsh ne peut modifier le shell de connexion que pour le compte actuel, tandis que le superutilisateur peut modifier le shell de connexion pour n'importe quel compte, y compris le compte root. De plus, le comportement par défaut pour les utilisateurs non root est de n'accepter que les shells qui sont dans la liste /etc/shells Fichier et émettre un avertissement à l'utilisateur root.

Alors avant de changer de coquille, Listez toutes les moules qui sont listées dans le /etc/shells Fichier de votre système Linux en utilisant la commande suivante :

cat /etc/shells

Exemple avec sortie :

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/bin/zsh

Si le shell que vous souhaitez utiliser n'est pas répertorié ici, il se peut qu'il ne soit pas installé sur votre système. Installez-le donc (par exemple, installez Zsh sur Debian / Ubuntu / Linux Mint / Pop! _OS avec :sudo apt install zsh ) et vérifiez à nouveau.

Pour modifier le shell de votre utilisateur, procédez comme suit :

chsh

Cela fonctionne chsh en mode interactif, vous demande le mot de passe, puis répertorie votre shell actuel (la plupart des distributions Linux utilisent Bash comme shell par défaut) et vous demande d'entrer une valeur pour votre nouveau shell. Voici la commande avec sa sortie :

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:

Pour changer de shell, saisissez le chemin du nouveau shell (qui existe en /etc/shells ) et appuyez sur le Enter Clé.

Par exemple, pour changer le shell de l'utilisateur actuel de bash à zsh :

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/zsh

Si vous utilisez une version de chsh qui ne démarre pas avec une invite de commande interactive après son exécution chsh , modifiez directement le shell de connexion de votre utilisateur :

chsh -s <SHELL>

Par ex. pour changer le shell en Zsh :

chsh -s /bin/zsh

Après avoir modifié le shell de votre compte, déconnectez-vous et reconnectez-vous pour utiliser le nouveau shell.

Pour changer le shell de connexion pour un autre utilisateur ou pour l'utilisateur root, connectez-vous en tant que root à l'invite du shell. à su - , sudo -i , sudo su , etc. et exécutez :

  • Pour changer le shell du compte root (et lorsque vous y êtes invité, entrez le shell de connexion souhaité avec son chemin complet) :

chsh

  • Pour changer le shell d'un autre utilisateur (cela fonctionne également pour l'utilisateur root avec root comme nom d'utilisateur) :

chsh -s <SHELL> <USERNAME>

Cette fois, nous avons utilisé chsh avec ce -s -Option qui change directement le shell de connexion (ne s'exécute pas en mode interactif). Ici, SHELL est le nouveau shell (par exemple /bin/zsh ) et USERNAME est l'utilisateur pour lequel vous modifiez le shell ; par exemple pour changer le shell en /bin/zsh pour l'utilisateur Logix , utiliseriez-vous :chsh -s /bin/zsh Logix ).

Vous pourriez également aimer ceci :Starship est une invite de shell minimale et rapide dans Rust

Changer le shell pour votre utilisateur dans une application de terminal

Vous pouvez utiliser un shell différent du shell de connexion ($SHELL ) pour une application de terminal spécifique, si cette application autorise la définition d'un shell personnalisé ou l'exécution d'une commande personnalisée à la place du shell par défaut.

En remarque, vous pouvez également modifier le shell actuel (pas de changement permanent) en entrant la commande shell que vous souhaitez utiliser dans un terminal (par exemple, si vous tapez « zsh », vous passerez à l'utilisation de zsh pour cette session ; exit) en en tapant "quitter").

Pour prendre le terminal GNOME (utilisé comme terminal par défaut dans les bureaux GNOME et Cinnamon). Ouvrez son Preferences , cliquez sur le profil actuellement actif (généralement étiqueté Par défaut ou Sans titre si vous ne l'avez pas modifié ou ajouté de nouveaux profils) dans la barre latérale gauche, puis cliquez sur Command Onglet :

Ici, vous pouvez définir un shell personnalisé qui ne sera utilisé qu'avec cette application. Activez le Run a custom command instead of my shell Option, puis dans le Custom command Entrez le chemin complet du shell que vous souhaitez utiliser, par ex. /bin/zsh , /bin/bash , Etc.

Dans Terminal Xfce4 , ouvrez ce Preferences et sur le General Tab vous avez une option appelée. activer Run a custom command instead of my shell , puis entrez la commande personnalisée en dessous (il s'agit du shell que vous souhaitez utiliser avec ce terminal, par exemple /bin/zsh , /usr/bin/fish , etc.).

Utilisation des consoles plasma de KDE , allez à Settings -> Edit Current Profile , et sur le General Tab, changez le Command Champ pour le chemin complet du shell que vous souhaitez utiliser (encore une fois, quelque chose comme :/bin/zsh , /bin/bash , /usr/bin/fish , etc.).

Utiliser Guake , vous pouvez utiliser le shell utilisateur de votre Preferences , sur le Shell Onglet où vous avez une option appelée. Trouver Default interpreter cela permet à n'importe quel shell listé dans d'être sélectionné /etc/shells .

Pour les terminaux qui vous permettent d'exécuter un shell personnalisé, vous devriez également trouver une option qui vous permet d'exécuter la commande en tant que shell de connexion (généralement simplement appelée "exécuter la commande en tant que shell de connexion"). Pour plus d'informations sur les différences entre un shell de connexion et un shell interactif, consultez cette page.

Le réglage est le même dans la plupart des cas, donc je ne donnerai pas d'autres exemples. Il convient de noter, cependant, que toutes les applications de terminal n'ont pas d'options pour permettre l'utilisation d'un shell personnalisé - dans de tels cas, utilisez le chsh Commande pour changer le shell de connexion comme décrit ci-dessus.

Vous pourriez aimer ceci :179 schémas de couleurs pour votre terminal Linux basé sur Gtk (terminal Gnome, Tilix, terminal Xfce, plus)


Debian
  1. Comment changer la couleur de votre terminal Linux

  2. Comment changer la version python par défaut sur Debian 9 Stretch Linux

  3. Comment changer l'identité d'un système Linux

  4. Comment changer le shell par défaut sous Linux

  5. Comment changer la taille du MTU sous Linux

Comment changer le shell utilisateur par défaut dans le système d'exploitation Linux

Comment changer le shell par défaut dans le système Linux

Comment changer le terminal par défaut dans Ubuntu

Comment changer un shell d'utilisateurs sous Linux

Comment changer le port SSH par défaut sous Linux [correctement et en toute sécurité]

Comment changer le mot de passe root sous Linux