Debian 9 端末を su に変更できません

Debian 9 端末を su に変更できません

昨日Debian Stretchをインストールしました。魚の皮を設置しました。次のようにデフォルトのシェルをFishに変更しました。

su chsh -s 'which fish'

その後、このコマンドを再入力してください。

su chsh -s `which fish`

コンピュータを再起動した後、「su」を使用している間に次のエラーが発生します。

sathish@localhost ~> su
Password: 
Cannot execute which fish: No such file or directory

答え1

(コメントできないのでここに投稿します)

  1. ユーザーを su に変更

$ su

(パスワードを入力してください)

  1. タイプ

# chsh [username]

あなたの場合:

# chsh root

  1. ログインシェル入力/usr/bin/fish
  2. それはすべてです。ログアウトしてもう一度ログインしてください。働かなければならない

答え2

rootコメントから:明らかに、ユーザーのログインシェルを次のように変更したいと思いますfish

sudo chsh -s "$(which fish)" root

または簡単に:

sudo chsh -s "$(which fish)"

存在しない場合は絶対パスを入力する必要がありますfish(通常、パッケージのインストール時に管理者スクリプトによって実行されます)./etc/shellspostinst


まだインストールしていない場合は、sudoIMHOを解決する必要があるより大きな問題があります。とにかく、以下を使用して行う方法は次のとおりですsu

su root -c 'chsh -s "$(which fish)"'

この場合、通常rootどおりパスワードが必要です。

関連情報