Quiero cambiar mi shell de bash a zsh.
Intenté ejecutar lo siguiente mientras estaba conectado como usuario 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é podría estar mal? ¿Cómo puedo arreglarlo?
chsh
, lo que significa que tendrá que conectarse de nuevo.Respuestas:
Las modificaciones de la cuenta de usuario no se guardarán si ha abierto / etc / passwd (vim / etc / passwd) cuando intenta cambiar la información.
Alternativa: intente con usermod (como zol):
o
Si esto tampoco funciona, edite
/etc/passwd
a mano.fuente
vipw
lugar devim
establecer los bloqueos de archivo apropiados.Cuándo ejecutar "chsh -l" si quieres ver:
Luego use:
Advertencia: Los comandos se ejecutaron en Fedora 25, en ubuntun la opción "-l" está desactivada .
fuente
-l
Es una opción no válida para mí. Estoy en Ubuntu 16.04chsh -s
funcionó a la perfección. Gracias.Si ve
chsh: Shell not changed.
, podría significar que el shell ya ha cambiado.Compruebe qué shell está en la lista:
Si es correcto, cierre sesión y vuelva a iniciarla para que el cambio surta efecto.
fuente
Acabo de encontrarme con esto. No importa lo que hice al iniciar y cerrar sesión, no cambiaría mi shell; sin embargo, estaba incluido en / etc / shells y / etc / passwd.
finalmente me di cuenta: ¿Tal vez he iniciado sesión con otra sesión?
Así que lo hice
y confirmó que tenía otras sesiones abiertas de otras máquinas:
Entonces hice:
Inmediatamente me desconecté y después de volver a iniciar sesión: ¡Voila! Shell fue cambiado
fuente