Sudo -i
コマンドで端末のルートになろうとしていますが、システムはSudo: /usr/local/bin/fish: command not found
を表示します。 fish shellをデフォルトに設定しようとしましたが、問題が発生しました。誰かが問題を解決するために何ができるかを教えてもらえますか?
最初にSudo echo /usr/local/bin/fish >> /etc/shells
を使用し、次にchsh -s /usr/local/bin/fish
を使用して、fish Shellをデフォルトとして設定しようとしました。ただし、usr/local/bin/fish
には複数の/usr/shells
ファイルがあるようです。 (実際、私は there からフォローしました)
前もって感謝します!
P.S。ファイルがusr/local/bin/fish
ではなくusr/local/bin
であることがわかりました。フィッシュシェルをデフォルトとして設定することに成功しましたが、まだSudo -i
の問題があります。
root
の不良デフォルトシェルをfish
に置き換えるには:
fish
をインストールします(Ubuntuのパッケージが必要な場合は_Sudo apt install fish
_を使用)Sudo nano /etc/pam.d/chsh
_を実行します#
_の前に_auth required pam_shells.so
_を挿入しますSudo chsh -s $(which fish)
を実行します(fish
内でこれをすべて実行している場合は、_$
_を削除します)Sudo nano /etc/pam.d/chsh
_を実行します#
_を削除しますこれで、_Sudo -i
_を使用してシェルが正しく設定されていることをテストできます。