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

驗證報告
別讓終端機把你逼瘋:用 tmux 守住你的遠端連線
遠端開發最常用的工具是 SSH 直連終端機。它簡單,但太脆弱——網路抖動幾秒、SSH 超時幾小時、甚至路由器斷線,都會讓你手邊的任務灰飛煙滅。
tmux 的出現,是為了解決「終端機一斷,一切重來」的問題。
什麼時候該用 tmux
- 網路不穩定:你希望終端機即使斷網,在幾分鐘內恢復連線後工作仍在執行。
- 多工並行:你需要一邊跑編譯,一邊看測試輸出,同時監控日誌。
- 長時間執行:背景工作不可控時(比如部署腳本、爬蟲),tmux 能提供持久化的工作階段。
- 共用終端機:與同事合作時,可以把終端機畫面分享給別人,無需複製貼上。
什麼時候不該用 tmux
- 輕量級指令:一句
ls或curl,不值得開 session。 - 需要強互動:某些需要特殊裝置節點的程式(如
p4v用戶端)在 tmux 內可能行為異常。 - 資源受限:嵌入式裝置或容器內可用記憶體很少,tmux 會產生額外開銷。
快速上手 checklist
- 開啟終端機,輸入
tmux或tmux new -s work建立工作階段。 - 頂部狀態列顯示工作階段名稱和 pane 資訊。
- 用
Ctrl+b加 c 新增 window,加 % 縱向分割 pane,加 " 橫向分割。 - 在 pane 之間切換:
Ctrl+b加方向鍵。 - 離開時不要直接關閉視窗,而是
Ctrl+b加 d detach,session 留在背景執行。 - 重新連線:
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,感受它帶來的安全感,再慢慢挖掘更多功能。
參考資料
- 官方文件:https://tmux.github.io
- 《tmux 2.0 實踐指南》by 趙攀(中國作者)
- 配色方案推薦:https://github.com/altercation/solarized
怎麼用
先在隔離環境中按記錄步驟重現,再決定是否採用這項技能。
實測效果
實驗室只記錄可重現結果,不把未經驗證的說法寫成結論。
踩坑
套用前核對權限、輸入、回復步驟和證據是否完整。
適用場景
適合環境條件與本報告證據範圍一致的任務。
不適用場景
缺少必要證據、隔離條件或回復控制時不要使用。