Cómo configurar el shell predeterminado cuando chsh no está presente

Cómo configurar el shell predeterminado cuando chsh no está presente

Tengo una caja NAS Synology DS412+ que ejecuta Busybox, que tiene un shell predeterminado de ash. Anteriormente, ipkg install optware-develse ejecutó, se instaló bashy se configuró como shell predeterminado. Running ipkg install zshlo ha instalado zshpero no lo ha configurado como shell predeterminado. chshno está presente (Busybox asume un sistema reducido y solo ashse usará), entonces, ¿cómo configuro el shell predeterminado?

Estaría muy agradecido por cualquier ayuda o idea.

Respuesta1

Puede cambiar el shell de inicio de sesión editando /etc/passwd. Cada línea es una lista de valores separados por dos puntos, el último de los cuales es el shell de inicio de sesión:

user:x:1000:1000:User:/home/user:/usr/bin/zsh

Si /etc/shellsexiste, debe agregarle zsh (ruta completa); de lo contrario, es posible que algunos servicios no funcionen para su usuario.

Nota:

Sugeriría no cambiar el shell de inicio de sesión para root (o cualquier usuario que necesite para fines administrativos) si zshestá instalado en uno de los discos. Es posible que desees seguir teniendo acceso root sin los discos instalados.

Siempre puedes iniciar zshautomáticamente desde la configuración de usuario de Ash. Algo como eso

[ -x /usr/bin/zsh ] && exec /usr/bin/zsh

Respuesta2

Otro método De esta publicación en el foro de Synolology:

https://community.synology.com/enu/forum/1/post/150323

En el editor que elija (por ejemplo, nano), agregue las siguientes líneas a: ~/.profile

exportar SHELL=/bin/bash exec /bin/bash

donde /bin/bash es la ruta al shell elegido

información relacionada