Ssh
ssh ’tmux a || tmux’ 有時有效?
此命令始終有效(使用 sh 或 bash):
ssh -t HOST sh -c "tmux a 2>/dev/null || tmux"
這些失敗了大約一半的時間:
ssh -t HOST -- "tmux a 2>/dev/null || tmux" ssh -t HOST "tmux a 2>/dev/null || tmux"
來自 tmux 的錯誤,要麼
server exited unexpectedly
要麼lost server
. (測試時沒有打開的 tmux 會話,所以它總是執行兩個命令。)為什麼他們會失敗,只是有時會失敗,但並非總是如此?
我想我找到了答案:
attach-session [-dErx] [-c working-directory] [-t target-session] (alias: attach) If no server is started, attach-session will attempt to start it; this will fail unless sessions are created in the configuration file.
tmux a
不僅嘗試附加,而且還啟動 tmux 伺服器(失敗並開始關閉)。- 該
tmux
命令嘗試創建一個新會話。有時來自的伺服器程序tmux a
仍然存在,因此它與該伺服器通信- 最後,伺服器程序退出並
tmux
失敗並顯示server exited unexpectedly
消息。