Impossible de faire de ZSH le shell par défaut

80

J'essaie de définir ZSH comme shell par défaut, mais il revient sans cesse à 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 exécutez ZSH depuis bash, il se charge et fonctionne correctement, mais j'aimerais le définir comme shell par défaut.

    
posée Tom 05.05.2012 - 04:42
la source

6 réponses

147

Si vous utilisez sudo , cela changera le shell non pas pour votre utilisateur mais pour root . Juste en utilisant

chsh -s $(which zsh)

sans sudo devrait fonctionner.

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

    
réponse donnée Florian Diesch 05.05.2012 - 05:55
la source
32

J'ai trouvé cela sur super-utilisateur forum

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.

    
réponse donnée Shailesh Kalamkar 11.08.2015 - 07:29
la source
3

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

    
réponse donnée jbp 27.01.2014 - 01:58
la source
3

Vous pouvez aussi faire ceci:

ouvrez votre fichier bashrc dans votre éditeur favori

sudo nano ~/.bashrc

puis ajoutez la ligne en haut du fichier

exec zsh

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

    
réponse donnée Saddam H 11.03.2016 - 16:10
la source
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 fichier / etc / passwd et assurez-vous qu'il pointe vers l'emplacement zsh. (Vous pouvez trouver ceci en lançant "quel zsh") Dans mon cas, mon utilisateur appelé "webmaster" ressemblait à ceci:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
    
réponse donnée John Crawford 19.12.2014 - 14:59
la source
0

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

sudo chsh -s /bin/zsh <myUserName>
    
réponse donnée Rib47 13.07.2018 - 16:01
la source

Lire d'autres questions sur les étiquettes