tmux 不使用默认 shell

tmux 不使用默认 shell

我的 tmux 开始出现短暂的异常。今天我注意到我的 tmux 会话不是以 bash shell 开始的,而是以 ? 开始(不知道)。我看到的只是一个美元 $。然后,如果我尝试用它调用 bash,bash它会返回

sessions should be nested with care, unset $TMUX to force.

没有 bash 的 tmux

我想default-shell在文件中添加一个 for tmux ~/.tmux.conf,但它不存在,而且如果我创建它,tmux 似乎看不到它。

答案1

tmux 的手册页说明了默认 shell 选项的过程:

default-shell path Specify the default shell. This is used as the login shell for new windows when the default-command option is set to empty, and must be the full path of the executable. When started tmux tries to set a default value from the first suitable of the SHELL environment variable, the shell returned by getpwuid(3), or /bin/sh This option should be configured when tmux is used as a login shell.

要在 .tmux.conf 文件中将 tmux 的默认 shell 设置为 Bash,您必须将其写成: set-option -g default-shell "/bin/bash"

如果要将系统默认 shell(不是特定的 bash)设置为default-shell,则可以set-option -g default-shell $SHELL在 .tmux.conf 文件中执行此操作。$SHELL但这要求正确设置变量。请参阅https://superuser.com/a/395161/325399

相关内容