我刚刚将 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]
这就是我的创建脚本的样子,它是在crontab
as中调用的@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