Comment faire de ZSH le shell par défaut?


124

J'essaie de définir ZSH comme shell par défaut, mais il continue de revenir à bash.

J'ai essayé ce code:

sudo chsh -s $(which zsh)

J'ai aussi essayé:

sudo chsh -s /bin/zsh 

Aussi essayé ces commandes sans sudo. Toutes les idées sur ce que je dois faire d'autre. Lorsque vous utilisez ZSH depuis bash, il se charge et fonctionne correctement, mais j'aimerais le définir comme shell par défaut.

Réponses:


217

Juste en utilisant chsh:

chsh -s $(which zsh)

sans sudo devrait fonctionner. Si vous l'utilisez sudo, le shell ne changera pas pour l'utilisateur actif mais pour l'utilisateur root.

Enfin, déconnectez-vous de votre ordinateur et reconnectez-vous .

Dépannage:


17
J'ai le même problème et la réponse ne le résout pas
Aswin Murugesh

@AswinMurugesh Consultez ma réponse
Shailesh Kalamkar

9
vous pouvez également exécuter sudo chsh -s / bin / zsh nomutilisateur
Micha Roon

16
Remarque: je devais redémarrer mon système avant que cela ne prenne effet.
KevinO

non, ça n'a pas marché.
Haha TTpro

40

J'ai trouvé ceci sur le forum de superutilisateur

Ouvrez / etc / passwd:

sudo vi /etc/passwd

Trouvez la ligne avec votre nom d'utilisateur:

username:x:1634231:100:Your Name:/home/username:/bin/bash

et remplacez bash par zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Déconnectez-vous et reconnectez-vous pour que les modifications prennent effet.


11
Vous devriez être très prudent avec cette approche - ce n'est généralement pas la meilleure idée d'aller se promener avec/etc/passwd
Thomas Ward

Même si je n'ai pas utilisé cette méthode, cela m'a permis de vérifier l'effet dechsh -s `which zsh`
jchook le

HA Oui, ce total a baisé mon utilisateur. Je ne peux pas me reconnecter.
Mark Carpenter Jr16

6

Vous pouvez aussi faire ceci:

ouvrez votre fichier bashrc dans votre éditeur préféré

sudo nano ~/.bashrc

puis ajoutez la ligne en haut du fichier

exec zsh

Il exécutera la commande chaque fois que vous chargerez le terminal et exécuterez votre shell zsh.


13
et tous vos travaux non interactifs seront également interrompus ( scppar exemple).
Jakuje

Désolé pour le vote négatif, mais changer /etc/passwdou chshsont de meilleures solutions et plus fiable.
Timo

Merci qui l'a fait. @Timo J'ai fait le changement sur / etc / passwd et ou chsh mais ma valeur par défaut revenait à bash. J'ai ajouté exec zsh selon la réponse publiée et cela a fonctionné.
Stryker

3

Si zsh n'est pas / bin / zsh, alors chsh ne fonctionnera pas. Sur Ubuntu, il s’agit de / usr / bin / zsh. Ce faisant, chsh -s /usr/bin/zshou chsh -s `which zsh`devrait fonctionner. Vous devez également vous reconnecter à la session de bureau.


Sur mon VPS Ubuntu c'est / bin / zsh
Wilhelm Erasmus

Sur mon Ubuntu, je le vois à la fois /bin/zshet/usr/bin/zsh
blue_chip

2
Sur le mien (14.04, avec zsh du référentiel principal), il y a deux zsh, qui sont tous deux des liens symboliques à deux couches: / usr / bin / zsh -> / etc / alternatives / zsh-usrbin -> / bin / zsh5 et / bin / zsh -> / etc / alternatives / zsh -> / bin / zsh5
wjandrea

1

J'ai eu un problème avec les autorisations de changer de shell sous l'utilisateur actuel mais m'aide ensuite (vous devez définir le dossier 'zsh' correct pour votre ordinateur):

sudo chsh -s /bin/zsh <myUserName>

0

Étrange, la réponse "acceptée" n'a pas fonctionné pour moi car j'ai eu

chsh: PAM: Authentication failure

Pour résoudre ce problème, éditez votre / etc / passwd et assurez-vous qu’il pointe vers l’emplacement zsh. (Vous pouvez trouver ceci en exécutant "which zsh") Dans mon cas, mon utilisateur appelé "webmaster" ressemblait à ceci:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh

Je crois que c'est censé demander un mot de passe. J'ai eu la même erreur sur mon précédent programme d'installation. L’actuel a bien fonctionné cependant
Wilhelm Erasmus

Quelqu'un d'autre a eu le même problème, et il s'est avéré qu'ils s'étaient exécutés chsh -s zsh, ce qui rendait leur entrée de mot de passe incorrecte.
Wjandrea

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.