實驗室已驗證

別讓終端機把你逼瘋:用 tmux 守住你的遠端連線

別讓終端機把你逼瘋:用 tmux 守住你的遠端連線 遠端開發最常用的工具是 SSH 直連終端機。它簡單,但太脆弱——網路抖動幾秒、SSH 超時幾小時、甚至路由器斷線,都會讓你手邊的任務灰飛煙滅。 tmux 的出現,是為了解決「終端機一斷,一切重來」的問題。 什麼時候該用 tmux 網路不穩定 :你希望終端機即使斷…

別讓終端機把你逼瘋:用 tmux 守住你的遠端連線

驗證報告

別讓終端機把你逼瘋:用 tmux 守住你的遠端連線

遠端開發最常用的工具是 SSH 直連終端機。它簡單,但太脆弱——網路抖動幾秒、SSH 超時幾小時、甚至路由器斷線,都會讓你手邊的任務灰飛煙滅。

tmux 的出現,是為了解決「終端機一斷,一切重來」的問題。

什麼時候該用 tmux

  • 網路不穩定:你希望終端機即使斷網,在幾分鐘內恢復連線後工作仍在執行。
  • 多工並行:你需要一邊跑編譯,一邊看測試輸出,同時監控日誌。
  • 長時間執行:背景工作不可控時(比如部署腳本、爬蟲),tmux 能提供持久化的工作階段。
  • 共用終端機:與同事合作時,可以把終端機畫面分享給別人,無需複製貼上。

什麼時候不該用 tmux

  • 輕量級指令:一句 ls 或 curl,不值得開 session。
  • 需要強互動:某些需要特殊裝置節點的程式(如 p4v 用戶端)在 tmux 內可能行為異常。
  • 資源受限:嵌入式裝置或容器內可用記憶體很少,tmux 會產生額外開銷。

快速上手 checklist

  1. 開啟終端機,輸入 tmux 或 tmux new -s work 建立工作階段。
  2. 頂部狀態列顯示工作階段名稱和 pane 資訊。
  3. 用 Ctrl+b 加 c 新增 window,加 % 縱向分割 pane,加 " 橫向分割。
  4. 在 pane 之間切換:Ctrl+b 加方向鍵。
  5. 離開時不要直接關閉視窗,而是 Ctrl+b 加 d detach,session 留在背景執行。
  6. 重新連線:tmux attach -t work。

進階技巧

  • 自動重啟斷線:在 ~/.tmux.conf 中加入 set -g reattach-on-detach on,斷開時自動重連。
  • 持久化日誌:set -g status on 開啟狀態列,可將重要資訊放在 bottom pane 持續監控。
  • session 綁定連接埠:用 tmux new -s name -P 可以強制綁定特定連接埠(需配合其他工具)。
  • 複製模式:Ctrl+b 加 [ 進入 vim 風格的複製模式,方向鍵移動,Enter 複製,Ctrl+b 加 ] 貼上。

常見坑

現象 原因 解決
pane 裡指令卡死 標準輸出滿了 加管線 `
剪貼簿不共用 系統 clipboard 未整合 macOS 用 tmux set -g set-clipboard on,Linux 需額外設定
重啟後 session 遺失 未設定 persist 或未掛載 volume 結合 systemd user service 或 tmux-sessionizer 自動恢復
視窗殘留 異常退出 tmux kill-server 清理殘留(謹慎)

tmux 的價值在於「可中斷的連續性」。不追求複雜的複用,先跑起一個 session,感受它帶來的安全感,再慢慢挖掘更多功能。

參考資料

怎麼用

先在隔離環境中按記錄步驟重現,再決定是否採用這項技能。

實測效果

實驗室只記錄可重現結果,不把未經驗證的說法寫成結論。

踩坑

套用前核對權限、輸入、回復步驟和證據是否完整。

適用場景

適合環境條件與本報告證據範圍一致的任務。

不適用場景

缺少必要證據、隔離條件或回復控制時不要使用。