我有一個運行 Busybox 的 Synology DS412+ NAS 盒子,它的預設 shell 是ash
.以前,ipkg install optware-devel
已運行並安裝它bash
並將其設定為預設 shell。運行ipkg install zsh
已安裝zsh
但未設定為預設 shell。chsh
不存在(Busybox 假設一個精簡的系統並且只會ash
被使用),那麼我該如何設定預設 shell?
我將非常感謝任何幫助或見解。
答案1
您可以透過編輯來變更登入 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
答案2
另一種方法來自 Synoology 論壇上的這篇文章:
https://community.synology.com/enu/forum/1/post/150323
在您選擇的編輯器(例如nano)中,將以下行新增至:~/.profile
導出 SHELL=/bin/bash 執行 /bin/bash
其中 /bin/bash 是您選擇的 shell 的路徑