題 將tmux窗格連接到遠程服務器


我對tmux很新,並且不知道如何使用它以達到最佳效果,所以我想要做的可能不是最好的方法。隨意提供其他建議!

設置: 我在桌面上本地使用tmux。我經常連接到運行ubuntu(也安裝了tmux)的開發設備來運行一些冗長的測試。

目前,我只是在終端的一個窗格中通過SSH連接到設備。我想要做的是以某種方式將窗格直接連接到設備上的tmux會話(對不起,如果我的術語不正確),以便我可以隨意連接和斷開冗長的測試並使用桌面上的tmux配置。這似乎是tmux能夠做到的事情,但是我的google-fu讓我失望了。有任何想法嗎?


5
2017-08-01 08:36


起源




答案:


不是直接的,因為tmux根本不處理連接到遠程主機的細節。但是,您設置了一個鍵綁定,用於創建新窗格並執行ssh命令以連接到遠程主機。斷開連接時,窗格會自動關閉。

bind-key h split-window -h 'exec ssh user@host -t tmux -a'

請注意,您現在在本地tmux會話的窗格中顯示了一個tmux會話;如果你在兩者中使用相同的前綴,你需要確保本地會話有 send-prefix 配置(默認情況下,它通常只是意味著按兩次前綴鍵:一次在本地會話中激活,第二次將其發送到遠程會話,之後您可以按下所需的鍵綁定。)


6
2017-08-01 12:36



好,謝謝。當谷歌搜索時,我注意到人們似乎使用tmux進行結對編程。然後我假設他們需要能夠遠程連接到彼此的會話。那麼tmux如何處理遠程連接?我還沒有真正理解tmux客戶端/服務器模型,所以我真的不知道發生了什麼。 - Leo
tmux 不處理遠程連接;兩個程序員都需要登錄到每個運行的同一台機器上 tmux 連接到公共會話。 - chepner
啊,這就解釋了。再次感謝! - Leo