默认使用 Fish shell

默认使用 Fish shell

我尝试使用命令在终端上成为 root sudo -i,但系统显示sudo: /usr/local/bin/fish: command not found。我尝试将 fish shell 设置为默认,但遇到了问题。有人能告诉我该怎么做才能解决这个问题吗?

我尝试使用 firstsudo echo /usr/local/bin/fish >> /etc/shells和 after将 fish shell 设置为默认chsh -s /usr/local/bin/fish。但是,似乎我有多个usr/local/bin/fish文件/usr/shells。(事实上,我遵循了 那里

提前致谢!

附言我现在知道文件不是usr/local/bin/fish,但是usr/local/bin。我已成功将 fish shell 设置为默认值,但问题仍然存在sudo -i

答案1

root要用替换错误的默认 shell fish

  1. 安装fishsudo apt install fish如果您需要 Ubuntu 的软件包)
  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

现在,你可以使用 测试 shell 是否设置正确sudo -i

相关内容