Tmux 的使用情境:遠端訓練 AI 不停機、邊寫程式邊除錯

前幾天講了 tmux 的用法和套件,但為什麼非得使用 tmux 不可,而不直接使用 terminal 來操作呢?今天講幾個 tmux 的使用情境。

不怕程式當掉或網路當掉,關掉重開還在繼續跑

使用 tmux 你可以隨時 detach 並 attach,例如說當你連接到遠端的高級伺服器訓練你的深度學習腳本,有時候跑下去可能就花掉半天的時間。你也不可能一直把你的 SSH 掛在那裡,沒事還去動個鍵盤,確保 SSH 連線不會斷掉。這時候就可以先用 tmux 開一個 session,並在裡面執行你要跑很久的程式,不想使用的時候就按下 Ctrl-b + D 來 detach,甚至你直接關掉你的 terminal 視窗也可以。

同理,就算是在本機,如果有東西你預期會跑很久,也可以開個 tmux 再跑,這樣你關掉 Terminal 晚點再進去看東西也不會不見。

當然,你的電腦必須保持執行。你總不能筆電開個 tmux,然後筆電關機帶著跑 XD

邊寫程式邊看 CPU 使用率

不確定你的程式寫得對不對嗎?你預期開下去就會讓 CPU 滿載,然後一直離開 vim 再切 htop 查看負載?

你可以直接使用 tmux 的分割視窗功能,左邊開著 vim,右邊開著 htop,看看有沒有符合你的預期。

邊寫程式邊 Debug

畢竟 Chromebook 就是輕巧方便,你可能螢幕不大,更不可能帶著雙螢幕在身上到處跑,切割視窗讓你不用滑鼠點來點去切換到不同的視窗。例如你在撰寫 JavaScript 的時候,左邊開著 vim,右邊可能要同時開著後端程式、前端程式看有沒有問題,這時候就可以把視窗分割成這樣。

你可以再透過 NERDTree,不用離開 vim 就可以直接切換檔案。

如果你用 Chrome OS 開發網站的話,建議你開啟虛擬桌面功能,然後把 Terminal 放在一個桌面、Chrome 放在一個桌面,你就可以使用 啟動器 + ]啟動器 + [ 來快速切換視窗。

以上就是 tmux 的簡單介紹,大概也是我平常使用 tmux 的情境。簡單記住幾個快速鍵就可以用得很順手了,也省下一直切換視窗的時間。

本篇文章同步發表在 iT邦幫忙