web-dev-qa-db-fra.com

Comment faire de ZSH le shell par défaut?

J'essaie de définir ZSH comme mon 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 

Également 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.

116
Tom

Juste en utilisant chsh :

chsh -s $(which zsh)

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

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

Dépannage:

201
Florian Diesch

J'ai trouvé ceci sur le forum 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.

36
Shailesh Kalamkar

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.

4
Saddam H

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

3
jbp

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>
1
Rib47

Tapez le terminal

Sudo chsh -s $(which zsh) root
0
Valmor Nascimento

É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
0
John Crawford