![Cómo configurar el shell predeterminado cuando chsh no está presente](https://rvso.com/image/632906/C%C3%B3mo%20configurar%20el%20shell%20predeterminado%20cuando%20chsh%20no%20est%C3%A1%20presente.png)
Tengo una caja NAS Synology DS412+ que ejecuta Busybox, que tiene un shell predeterminado de ash
. Anteriormente, ipkg install optware-devel
se ejecutó, se instaló bash
y se configuró como shell predeterminado. Running ipkg install zsh
lo ha instalado zsh
pero no lo ha configurado como shell predeterminado. chsh
no está presente (Busybox asume un sistema reducido y solo ash
se 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/shells
existe, 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 zsh
está instalado en uno de los discos. Es posible que desees seguir teniendo acceso root sin los discos instalados.
Siempre puedes iniciar zsh
automá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