
瀏覽問題我發現了 tmux(我通常使用 GNU Screen)。我的問題是它們各自的優點和缺點是什麼。特別是我找不到太多關於 tmux 的資訊。
答案1
從他們的網站:
- tmux 與 GNU screen 有何不同?它還提供什麼?
與 screen 相比,tmux 有以下幾個優點:
- 明確定義的客戶端-伺服器模型:視窗是獨立的實體,可以同時附加到多個會話並從多個客戶端(終端)查看,並且可以在同一 tmux 伺服器內的會話之間自由移動;
- 一致的、記錄良好的命令介面,無論是互動使用、作為鍵綁定或從 shell 使用,都具有相同的語法;
- 可以輕鬆地從 shell 編寫腳本;
- 多個貼上緩衝區;
- 選擇 vi 或 emacs 鍵佈局;
- 限制視窗大小的選項;
- 更有用的狀態行語法,能夠顯示特定指令的第一行輸出;
- 更乾淨、現代、易於擴充、BSD 授權的程式碼庫。
tmux 仍然省略了一些螢幕功能:
- 內建串行和遠端登入支援;這很臃腫,不太可能添加到 tmux 中;
- 更廣泛的平台支持,例如 IRIX 和 HP-UX,以及奇數終端。
答案2
一個區別在於當多個終端連接到單一會話時兩者的行為方式。
透過螢幕,每個連接的終端的視圖都是獨立的。使用 tmux,所有連接的終端都會看到相同的東西。
假設您有兩個終端連接到一個 tmux 會話。如果您^B在一個終端機中輸入 1,另一端也會切換到視窗 1。
當您有兩個終端連接到一個螢幕會話時,並且您^A在其中一個終端機中鍵入 1,則它對另一個終端沒有影響。
這是基於我使用 tmux 1.2 的經驗;我看到 1.3 已經發布了,但我沒有註意到變更日誌中有任何關於此行為變化的內容。
如果您喜歡螢幕行為並希望在 tmux 中使用它:
如果您的原始 tmux 會話被呼叫0
(預設),那麼您可以tmux new-session -t 0
啟動一個連接到同一組視窗的新的獨立會話,然後該會話可以擁有自己的視圖。
答案3
與 GNU screen 相比,tmux 相當新。優點/缺點是一個棘手的問題,因為這兩個程式解決的問題大致相同。 tmux 是 BSD 授權的,而 screen 是 GNU GPL 授權的。這對某些人來說很重要。
screen 目前(在 Linux 上)更具代表性,也就是說,與 tmux 相比,您更有可能在給定的 Linux 機器上找到它。然而,tmux 在 OpenBSD 上的表現更為突出,因為它包含在基本安裝中。
這兩個程式都允許您做同樣的事情,儘管事情的狀態比這更複雜一些。兩者之間的切換並不太複雜,因為許多螢幕功能也已進入 tmux,但如果您是其中任何一個的高級用戶,那麼在切換到另一個時您可能會發現一些挫敗感。
與任何程序一樣,這實際上取決於您的需求以及您更喜歡哪一個。都嘗試一下,看看哪一個適合您。
有關 tmux 的更多信息,請參閱https://tmux.github.io/
答案4
我使用中最大的區別是,在 Gnu Screen 中你只能水平分割幀,而在 Tmux 中你可以水平和垂直分割。這是一個移動目標,儘管正如我在這裡所說的垂直分割正在進入螢幕。
除此之外,一切都平淡無奇。