web-dev-qa-db-ja.com

デフォルトとしての魚の殻

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の問題があります。

1
Sandra Ross

rootの不良デフォルトシェルをfishに置き換えるには:

  1. fishをインストールします(Ubuntuのパッケージが必要な場合は_Sudo apt install fish_を使用)
  2. _Sudo nano /etc/pam.d/chsh_を実行します
  3. _#_の前に_auth required pam_shells.so_を挿入します
  4. 保存して終了する Ctrl+O、 Enter、 Ctrl+X
  5. Sudo chsh -s $(which fish)を実行します(fish内でこれをすべて実行している場合は、_$_を削除します)
  6. _Sudo nano /etc/pam.d/chsh_を実行します
  7. 挿入した_#_を削除します
  8. 保存して終了する Ctrl+O、 Enter、 Ctrl+X

これで、_Sudo -i_を使用してシェルが正しく設定されていることをテストできます。

3
Chai T. Rex