我有一个运行Busybox的Synology DS412 + NAS机箱,它有一个ash的默认shell。 以前, ipkg install optware-devel已经运行,它安装了bash并将其设置为默认shell。 运行ipkg install zsh已经安装了zsh但没有将其设置为默认的shell。 chsh是不存在的(Busybox假设一个减less系统,只有ash将被使用),那么我如何设置默认的shell?
我会很感激任何帮助或见解。
您可以通过编辑/etc/passwd来更改loginshell。 每一行都是冒号分隔值的列表,最后一个是loginshell:
user:x:1000:1000:User:/home/user:/usr/bin/zsh
如果/etc/shells存在,则应该添加zsh(完整path),否则某些服务可能不适合您的用户。
注意:
如果在其中一个磁盘上安装了zshbuild议不要更改root用户的loginshell(或任何用于pipe理用途的用户)。 您可能仍希望在没有安装磁盘的情况下拥有root权限。
你总是可以从ash的用户configuration中自动启动zsh 。 就是这样
[ -x /usr/bin/zsh ] && exec /usr/bin/zsh