私は、 というデフォルト シェルを持つ Busybox を実行している Synology DS412+ NAS ボックスを持っていますash
。以前、ipkg install optware-devel
が実行され、インストールされbash
、デフォルト シェルとして設定されました。 をipkg install zsh
実行すると、インストールされましたzsh
が、デフォルト シェルとして設定されていません。chsh
は存在しません (Busybox は、カット ダウン システムを想定し、 のみがash
使用されます)。デフォルト シェルを設定するにはどうすればよいでしょうか?
どのようなご助力やご意見でも大変ありがたく思います。
答え1
を編集することでログイン シェルを変更できます/etc/passwd
。各行はコロンで区切られた値のリストで、最後の行がログイン シェルです。
user:x:1000:1000:User:/home/user:/usr/bin/zsh
存在する場合は/etc/shells
、zsh (フルパス) を追加する必要があります。そうしないと、一部のサービスがユーザーに対して機能しない可能性があります。
注記:
ディスクの 1 つにインストールされている場合は、root (または管理目的に必要なユーザー) のログイン シェルを変更することはお勧めしませんzsh
。ディスクがインストールされていなくても、root アクセスを維持したい場合があります。
zsh
ashのユーザー設定から自動的に起動することもできます。
[ -x /usr/bin/zsh ] && exec /usr/bin/zsh
答え2
別の方法 Synology フォーラムのこの投稿から:
https://community.synology.com/enu/forum/1/post/150323
選択したエディタ(例:nano)で、次の行を〜/.profileに追加します。
エクスポート SHELL=/bin/bash exec /bin/bash
/bin/bashは選択したシェルへのパスです