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.
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:
dpkg -l zsh
grep $USER /etc/passwd
grep zsh /etc/shells
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.
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.
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.
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>
Tapez le terminal
Sudo chsh -s $(which zsh) root
É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