使用 `chsh` 来更改 shell

使用 `chsh` 来更改 shell

我想将 Terminator 的默认 shell 更改为 zsh。在 中,/etc/passwd/我将默认 shell 更改为/bin/zsh。此设置会更改 LXTerminal(Lubuntu 上的默认终端)中的默认 shell,但不会更改 Terminator 中的默认 shell。所以我尝试了chsh -s /bin/zsh,但这也不起作用。

终结者文档说:

我如何更改我的默认 shell?

Terminator 将始终启动由 SHELL 环境变量指定的 shell。(如果未设置 SHELL 环境变量,它将返回到 /bin/sh。)您可以简单地影响 Terminator 的环境,但最好的解决方案是告诉您的操作系统您想要哪个 shell,它将确保为所有应用程序(而不仅仅是 Terminator)正确设置 SHELL。有关如何更改默认 shell 的详细信息,请参阅操作系统的文档。

所以我期望我的尝试能够成功,但结果却不是这样。我该如何更改 Terminator 中的默认 shell。

答案1

使用 `chsh` 来更改 shell

您可以使用chsh来更改默认 shell。运行此命令将要求输入 shell 的完整路径。

您还可以运行

chsh -s <shell 路径>

直接更改外壳。

更改终结者偏好设置

您也可以直接更改终结者偏好设置。

  • 打开终结者。
  • 右键单击“终结者”,然后选择优先
  • 个人资料>命令
  • 查看以登录 shell 身份运行命令运行自定义命令而不是我的 shell,然后输入shell的地址。

在此处输入图片描述 - 关闭对话框。

答案2

重启后 Terminater 使用 zsh。我填写了错误报告

答案3

这是一个古老的问题,但经过一番争论之后:

总结:Terminator 读取$SHELL环境变量。如果您处于图形 X 会话中,则此变量在您登录时设置,并且直到您登录后才会重置再次,即使在运行之后chsh

如果您切换到文本终端并登录,您会看到您的设置chsh已经生效。一旦您退出并重新登录,设置$SHELL就会重置为您的 shell 所处的位置/etc/passwd

相关内容