Je veux changer mon shell de bash en zsh.
J'ai essayé d'exécuter ce qui suit en étant connecté en tant qu'utilisateur zol:
$ chsh -s /bin/zsh
$ sudo chsh -s /bin/zsh zol
$ su -c 'chsh -s /bin/zsh zol'
# The above all results with:
$ password:
$ chsh: Shell not changed.
# zsh exists in /etc/shells..
chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
Qu'est-ce qui ne va pas? Comment puis-je le réparer?
chsh
, ce qui signifie que vous devrez vous reconnecter .Réponses:
Les modifications de compte d'utilisateur ne seront pas enregistrées si vous avez ouvert / etc / passwd (vim / etc / passwd) lorsque vous essayez de modifier les informations.
Alternative: essayez avec usermod (comme zol):
ou
Si cela ne fonctionne pas non plus, modifiez
/etc/passwd
à la main.la source
vipw
place devim
car ils définissent les verrous de fichiers appropriés.Quand lancer "chsh -l" si vous voyez:
Utilisez ensuite:
Avertissement: Les commandes ont été exécutées sur Fedora 25, dans ubuntun, l'option "-l" de est sortie.
la source
-l
est une option invalide pour moi. Je suis sur Ubuntu 16.04chsh -s
a parfaitement fonctionné. Merci.Si vous voyez
chsh: Shell not changed.
, cela pourrait signifier que la coque a déjà été changée.Vérifiez quel shell est répertorié:
Si c'est correct, déconnectez-vous et reconnectez-vous pour que la modification prenne effet.
la source
Je suis juste tombé sur ça. Peu importe ce que j'ai fait, la connexion et la déconnexion ne changeraient pas mon shell, mais il était répertorié dans / etc / shells et dans / etc / passwd.
enfin, il m'est apparu: peut-être que je suis connecté avec une autre session?
J'ai donc fait
et cela a validé que j'avais effectivement d'autres sessions ouvertes à partir d'autres machines:
J'ai ensuite fait:
J'ai été immédiatement déconnecté et après m'être reconnecté: Voila! Shell a été changé
la source