升級到 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出現段錯誤[5600246750002462000

這就是我的創建腳本的樣子,它是在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

相關內容