2013-04-04 24 views
5

Tmux 1.8はiOSプロンプトアプリをクラッシュさせます。2つの異なるバージョンのtmuxを同時に実行できますか?

しかしiTerm2の統合には1.8が必要です。

私はどうにかして私のサーバが2台のtmuxサーバを動かせるようにしたいと思っています。しかし、Tmux 1.6は、1.8サーバが稼動しているときにステータスコード1で終了するようです。あなたはtmuxは(でも、異なるバージョン)の複数のインスタンスを実行することができますが、それはあなたのように動作しない可能性があり、私は誰もがこのような何かをしようとしていますことを疑うが、私は好奇心が強い...

+2

また、現在の問題(http://sourceforge.net/mailarchive/forum.php?thread_name=F892202E-B27B-400E-A5BD-596A124E058F%40high5.nl&forum_name=tmuxを固定することにより掛けない1.8を作ることができます-users)。これは 'set -ag terminal-overrides"、*:XT @ "を' .tmux.conf'に追加することによって行われます。 – terje

+0

プロンプトは私のサーバ上でtmux 1.8でうまく動作するようにランダムに開始されました。 –

+0

@terje私はあなたのコメントは、***の***問題を修正するので、答えが必要であることをお勧めします。 – demure

答えて

10

が期待されています。それらは完全に独立しています(異なるセッション、ウィンドウ、ペイン、オプション値など)。 -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を使うことができます。

しかし、別の2つの異なるバージョンのtmuxを実行しようとすると別の問題があります。 バイナリtmuxバイナリと実行中のサーバーは、同じ "プロトコルバージョン"を使用する必要があります。内部的な変更のため、1.6と1.8のバージョンでは異なるプロトコルバージョンが使用されます。つまり、1.8バイナリを使用して起動した1.8サーバー(1.8バイナリを使用して起動したサーバー)と通信するために1.6バイナリを使用することはできません。そのため、ソケット名(セッション内でコマンドを実行する場合)を指定する必要はないかもしれませんが、異なるサーバーと通信しようとするときには、おそらくバイナリを指定する必要があります。

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 

あなたは(無限ループを作成しないように注意してくださいしかし、またはスクリプト)環境変数を設定し、シェル関数を使用して、物事を少し簡素化することができるかもしれません。

tmux() { command "${TMUXBIN:-tmux}" "[email protected]"; } 
関連する問題