2013-04-04 133 views
5

Tmux 1.8崩潰iOS提示應用程序。是否可以同時運行兩個不同版本的tmux?

但我需要1.8來獲得iTerm2集成。

所以我希望我能以某種方式讓我的服務器能夠運行兩個tmux服務器。但是,當我運行1.8服務器時,看起來Tmux 1.6只是以狀態碼1退出。

我懷疑任何人的企圖是這樣的,但我很好奇......

+2

您也可以不1.8通過固定本期(http://sourceforge.net/mailarchive/forum.php?thread_name=F892202E-B27B-400E-A5BD-596A124E058F%40high5.nl&forum_name=tmux掛-Users)。這是通過在你的'.tmux.conf'中添加'set -ag terminal-overrides',*:XT @「'來完成的。 – terje 2013-06-05 14:01:23

+0

提示已經隨機開始在服務器上與tmux 1.8一起正常工作。 – 2013-06-05 15:05:40

+0

@terje我會建議你的評論應該是一個答案,因爲它修復了***真正的問題。 – demure 2013-08-11 03:37:24

回答

10

您可以運行的TMUX(甚至不同的版本)的多個實例,但像你期望它可能無法正常工作:他們將完全獨立(不同的會話,窗口,窗格,選項值等)。 -L-S選項用於指定服務器套接字名稱或路徑名。

tmux new    # new session in the server at the "default" socket 
tmux -L other attach # new session in the server at the "other" socket 

默認插座和插座-L住在$TMPDIR/tmux-$UID/,但你可以使用-S如果你想自己指定的完整路徑名。

當你是「內部」一TMUX會議上,TMUX環境變量指定的路徑服務器套接字,所以你一般不需要指定插座(路徑)的名字,如果你只是說了「圍繞「服務器:你可以使用tmux neww在當前會話中創建一個新窗口(不管它使用什麼套接字路徑名)。

但是,嘗試運行兩個明顯不同版本的tmux的問題還有另一個問題。 tmux二進制和正在運行的服務器必須說相同的「協議版本」。由於一些內部變化,1.6和1.8版本使用不同的協議版本。這意味着您不能使用1.6二進制文件與1.8服務器(即使用1.8二進制文件啓動的服務器)進行通信,反之亦然。因此,儘管您可能不需要指定套接字名稱(在會話中「運行」命令時),但您可能需要在嘗試與不同服務器交談時指定二進制文件。

tmux attach    # 1.8 talking to existing 1.8 "default" server 
tmux-1.6 -L other attach # 1.6 talking to existing 1.6 "other" server 

您可能能夠通過設置環境變量和使用shell功能,以簡化事情有點(或腳本,但要注意不要形成無限循環)。

tmux() { command "${TMUXBIN:-tmux}" "[email protected]"; } 
相關問題