Shell
當 chsh 不存在時如何設置預設 shell
我有一個執行 Busybox 的 Synology DS412+ NAS 盒子,它的預設外殼為
ash
. 以前,ipkg install optware-devel
已執行並已安裝bash
並將其設置為預設 shell。Runningipkg install zsh
已安裝zsh
但未將其設置為預設 shell。chsh
不存在(Busybox 假定係統是精簡的,只會ash
被使用),那麼如何設置預設 shell?對於任何幫助或見解,我將不勝感激。
您可以通過編輯更改登錄 shell
/etc/passwd
。每一行都是一個冒號分隔值的列表,最後一個是登錄 shell:user:x:1000:1000:User:/home/user:/usr/bin/zsh
如果
/etc/shells
存在,您應該將 zsh(完整路徑)添加到它,否則某些服務可能不適用於您的使用者。筆記:
zsh
如果安裝在其中一個磁碟上,我建議不要更改 root(或出於管理目的需要的任何使用者)的登錄 shell 。您可能希望在未安裝磁碟的情況下仍具有 root 訪問權限。您總是可以
zsh
從 ash 的使用者配置自動啟動。類似的東西[ -x /usr/bin/zsh ] && exec /usr/bin/zsh