作为工作的一部分,我通常需要通过 SSH 连接到多个不同的服务器。我喜欢运行本地 tmux 会话来管理各种终端,然后从 SSH 会话到远程服务器,我还喜欢运行另一个 tmux 会话(使用不同的键绑定)以控制那里的各种终端。我连接的服务器位于不同的时区,因此我喜欢在 tmux 状态栏中显示当前时间。
这一切都很顺利,直到我尝试在本地 tmux 会话中激活窗口活动监控。然后每次 SSH 会话中 tmux 状态栏中的时间发生变化时,它都会认为该窗口中有活动并突出显示。
那么,有没有办法可以限制活动监视器检查会话中除最后一行(tmux 状态栏)之外的所有内容?查看手册页和谷歌搜索没有找到潜在的解决方案,所以我不确定这是否可行。欢迎提供其他建议/方法。
答案1
我也遇到了这个问题,并找到了一种解决方法,所以我想分享一下。您可以设置tmux选项status-interval
为 0 以禁用状态更新(默认每 15 秒发生一次)。
它将阻止状态时钟自动更新,因此不会触发活动通知,缺点是时钟将不再保持最新状态,除非tmux更新它,重新绘制屏幕,或者当你点击Ctrl + b
(或者你使用的任何前缀键)。
注意:如果您使用以下版本tmux低于 1.9 时,设置status-interval
为 0 可能不起作用(请参阅错误编号 78)。如果你不能或不想升级到 1.9 版本,你可以设置status-interval
为适合你需求的一些高值(例如 12 小时为 43200)。