セッションで別のウィンドウに接続する


117

2つの開いているウィンドウで実行する非常に単純なtmuxセッションがあります。1つはローカルハッキング用、もう1つは仕事用です。

私がやりたいのは、ハッキングウィンドウに接続して、別のターミナルで作業ウィンドウを開いたままにすることです。ただし、tmuxに接続するとすぐに、すべてのコマンドが両方のウィンドウに送信されるため、別のウィンドウに切り替えると、他の端末でも同じことが起こります。

各ウィンドウに個別に接続する方法はありますか?

回答:


153

両方のクライアントが同時にウィンドウを切り替える理由は、両方が同じセッションに接続されているためです(「現在のウィンドウ」は、クライアントではなくセッションの属性です)。できることは、1つ以上のウィンドウを複数の異なるセッションにリンクすることです。各セッションには独自の「現在のウィンドウ」があるため、各セッションでウィンドウを個別に切り替えることができます。

この機能を使用する最も簡単な方法は、new-sessionコマンドの「グループ化されたセッション」機能を使用することです。

$ tmux new-session -t 'original session name or number'

現在利用可能なセッションを表示するには:

$ tmux list-sessions

グループ内の各セッションは、同じウィンドウのセットを自動的に共有します。グループの1つのセッションでウィンドウを開く/リンクする(または閉じる/リンク解除する)と、他のすべてのセッションで同じウィンドウが自動的にリンク(またはリンク解除)しますグループ。

「余分な」セッションが終了したら、で終了できますkill-session。セッションがリンクされた唯一のセッションでない限り、ウィンドウ自体は強制終了されません。または、通常のように「追加」セッションから切断することもできます(プレフィックスd、またはdetach-client)。「余分な」セッションを維持する場合(単純に切り離すことで)、わかりやすい名前(プレフィックス$、またはrename-session)を付けて、簡単に識別して後で再接続できるようにすることもできます(付与することもできます) 「元の」セッションの名前も)。


動的な一連のウィンドウを自動的に共有したくない場合は、link-window(およびunlink-window)を使用して、個々のウィンドウを独自の「パーソナル」セッションに(およびそこから)取り出すことができます。これにより、「グループ化されたセッション」の基になっている同じコア機能(複数のセッションにリンクされたウィンドウ)への非自動の低レベルアクセスが提供されます。


12
答えを広める。2つの開いているセッションがサイズを同期しないようにする方法を知っていますか?新しいセッションを作成していて、ウィンドウが小さい場合、元のセッションの多くの画面領域が無駄になります。
defhlt

32
私の質問への答えを見つけました:setw -g aggressive-resize on
-defhlt

1
これはwemuxの「不正」モードとしてサポートされています。
15年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.