升级到 2.9a 后,tmux 在发送密钥上出现段错误

升级到 2.9a 后,tmux 在发送密钥上出现段错误

我刚刚将 Ubuntu 服务器从 18.10 升级到 19.04,然后再升级到 19.10。我认为这次升级也升级tmux到了较新的版本。

从那时起,我tmux构建一些仪表板的脚本就不再工作了。

当发出类似命令时

tmux send-keys "echo 'test'" C-m;

我收到一条lost server消息。

当包含目标窗格的会话没有附加任何内容时,就会发生这种情况。

当我启动一个会话并附加到它时,然后send-keys就可以工作了。

系统日志包含以下条目

3月12日23:27:33机器内核:[27.074805] tmux:服务器[2657]:tmux中751 ip 000056042469f029 sp 00007ffe602aa6f0错误4出现段错误[560424675000+62000]

这就是我的创建脚本的样子,它是在crontabas中调用的@reboot,但是手动执行它时也存在问题。

SESSION=stuff

tmux new-session -d -s $SESSION -n 'homepage'
tmux split-window -h -p 50
tmux select-pane -t 1; tmux send-keys "./lhp.sh" C-m;
tmux select-pane -t 2; tmux send-keys "./lnginx.sh" C-m;
tmux split-window -v -p 50
tmux select-pane -t 3; tmux send-keys "./lsmr.sh" C-m;

tmux new-window -t $SESSION -n 'shells'
tmux split-window -h -p 50

tmux select-window -t :1;

在稍后的某个时间点(几小时或几天)我调用

tmux attach-session -t stuff

查看内容。

有谁知道我可以像以前一样继续使用它吗?

答案1

如果我将您的“./l*”脚本替换为“sleep 10”,则该脚本不会因 tmux 3.1-rc 而崩溃,因此这要么是 2.9a 中的错误,要么问题出在您的某个脚本中。

当然,该脚本也不起作用 - 你不能混合new -t-n。你的意思是-s代替-t?您可能需要添加-d,否则脚本的其余部分将无法运行。另外,您的窗格编号也是错误的 - 您只拆分了一次,但当仅存在 0 和 1 时,则目标窗格 1 和 2。所以我怀疑这不是您实际使用的脚本。

无论如何,tmux 2.9a 不再受支持,因此最好的选择是构建 tmux 3.0a 或 3.1-rc 并查看问题是否仍然存在。如果是这样,您可以在以下地址提出问题https://github.com/tmux/tmux/issues,最好使用您真正使用的脚本和一些 tmux 日志文件。

答案2

这是 中的一个错误tmux

该问题正在此处跟踪https://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1847484这里引用了那个https://github.com/tmux/tmux/issues/1980

该修复的优先级较低,因为它是一个“错误配置”问题,因此至少在 3.0-rc5 中仍然存在。

基本上就是这个问题:

因此,当将击键发送到仍然显示解析配置的错误消息的框架时,似乎会发生崩溃。

因此,您需要确保您有一个有效的tmux配置文件,该文件不会引发错误,例如

.tmux.conf:33: invalid option: pane-border-fg

相关内容