desarrollo-web-br-bd.com

Cómo cambiar el Shell predeterminado a ZSH - chsh dice "Shell no válido"

Instalé ZSH en un VM mío, donde lo compilé desde la fuente. La ubicación de ZSH es /usr/local/bin/zsh cuando corro chsh -s /usr/local/bin/zsh produce chsh: /usr/local/bin/zsh is an invalid Shell. También probé esto con Sudo también. ¿Cómo puedo cambiar esto?

36
Zach Russell

Agregue zsh a /etc/shells:

command -v zsh | Sudo tee -a /etc/shells

Ahora puede usar chsh para establecer zsh como Shell:

Sudo chsh -s "$(command -v zsh)" "${USER}"

Consulte esta documentación: Cambio de su Shell de inicio de sesión

50
Biapy

Necesitas agregar /usr/local/bin/zsh a /etc/shells.

8
Adam Lang

Primero, verifique si zsh aparece como Shell válido por

cat /etc/shells

Si zsh no está en la lista, instálelo. Por ejemplo, si usa apt

Sudo apt-get install zsh

Realice el paso 1 nuevamente y vea la ruta de zsh. En mi caso, ambos /usr/bin/zsh y /usr/zsh está listado. Como @ Stéphane Chazelas mencionó en el comentario, si desea compilar e instalar el Shell desde cero, asegúrese de agregar la ruta en /etc/shells.

Cambiar el Shell usando

chsh -s /usr/bin/zsh

De página man :

-s, --Shell SHELL El nombre del nuevo Shell de inicio de sesión del usuario. Establecer este campo en blanco hace que el sistema seleccione el Shell de inicio de sesión predeterminado.

Cerrar sesión e iniciar sesión nuevamente.

4
Sat Yam