我在使用 tmux 时遇到了自动注销问题。
当我在 tmux 中打开一个新窗口时,$TMOUT设置为 600。这会导致外壳在一段时间后自动注销我。我无法覆盖或取消设置它,因为它是只读的。 如果我在该窗口中启动一个新的 bash 进程,$TMOUT设置为 0 并且不会超时(所需的行为(。
我的问题是,为什么新的 tmux 窗口与新的 bash 进程具有不同的环境设置?如何更改新 tmux 窗口的 TMOUT 设置?
您可以检查以下两种可能性:
-
您从导出了
TMOUT
的 shell 启动了 tmux,因此它在应用于新窗格的全局环境中。检查tmux showenv -g
,如果存在,请用tmux setenv -ug TMOUT
删除。没有必要在外壳中导出TMOUT
,这样可以避免这种情况。 -
TMUX 默认启动登录 shell,并且仅由登录 shell 运行的 shell 配置文件之一正在设置
TMOUT
。检查您是否也看到是否也使用bash -l
.如果是这种情况,您可以跟踪它的设置位置或更改 tmux 以通过更改default-command
来不启动登录 shell。