1つのtmuxセッションで複数の端末x-windowsを使用する


19

私は通常、非常に垂直に配置されていない2つのモニターで作業します(左のモニターの下にベンチトップ電源があります)が、画面に4つのターミナルウィンドウを並べて、簡単に循環できるようにしたいです:

ここに画像の説明を入力してください

この配置は、キーボードだけでは4つすべてを簡単に循環させることができないため、非常に悲しくなります(4つすべてのウィンドウの「順序付け」を保持しないため、alt-tabはそれをカットしませんalt-tabを繰り返し押します。最近使用した2つのウィンドウ間でバウンドします)

tmuxに2番目のx-windowを生成させて、それぞれに2つのtmuxペインがある2つのx-windowを作成する方法はありますか?


あなたの問題は、(2つのモニターにウィンドウを並べて表示し、4つすべてではなく最近の2つのウィンドウ間でAlt + Tabサイクルを使用していることです)?これは仕事のようtiling window managerです。試したことはありますか?たくさんあります。awesomei3wmiixmonad、そしてdwm最高の一つです。あなたの目的のために、私はお勧めします、i3(1)それはピックアップするのが簡単であり(設定ファイルを読むことはコントロールと設定の基本の両方を教えてくれます)、マルチモニター(xinerama / xrandr)セットアップに合わせられているからです。
ブレーデンベスト

私は、I3を試してみましたが、私は絶対にそれを愛し、それは1時間に1回についての私のUbuntuの設定にクラッシュを引き起こした:(また、いくつかの理由で私のモニターで素敵を果たしていませんでした。
johnny_boy

本当に?他のものはどうですか?wmiiとxmonadは、私の提案キューの次のものになります。これは、wmsが「ファンシー」タイリングで、その後にdwm(私の個人的なお気に入り)が続くためです。i3ほどの機能はありませんが、複数のモニターを非常にエレガントに処理します
ブレーデンベスト

回答:


15

tmux 「セッショングループ」を作成できます。これは、同じウィンドウセットにすべてアタッチできる複数のセッションです。

https://gist.github.com/chakrit/5004006のおかげで :)

左側のターミナルで、新しいセッション+ウィンドウグループを作成します。

tmux new-session -s left

通常どおり、ペインに分割します。

:split-window -v

もう1つの(右側の)ターミナルで、その既存のウィンドウグループに接続します。接続する古い名前と、それを区別するための独自のセッション名を指定する必要があります。

tmux new-session -t left -s right

そのセッションでは、別のウィンドウを作成して分割します

:new-window
:split-window -h

これで、すべての(tmux)ウィンドウを各(端末)ウィンドウに表示できますが、それぞれのビューは互いに独立しています。

ウィンドウマネージャーのショートカットを使用せずに、一方から他方に切り替えるには、たとえば xdotool

xdotool search --name 'left:0:' windowactivate
xdotool search --name 'right:1:' windowactivate

これらは、端末に検索可能な名前を付けるためにtmuxset-titlesオプションを有効にしていることを前提としています。またtmux、それぞれで1つのウィンドウ(ペインのセット)のみを使用していること。


これを完了するには、現在のペインを確実に照会し、必要に応じて「ウィンドウをアクティブ化」コマンドを使用して「次の」ペインに進むスクリプトが必要です。しかし、私はまだそれを行う方法を理解していません-私はそれが利用できるものの外にいくつかの追加のデータストアが必要になると思いますtmux
JigglyNaga

あなたが積極的なサイズ変更を有効にする必要がある場合があります(上のsetw -g積極的なサイズ変更)、それ以外のウィンドウをフルスクリーンに合わないだろう
dgmora

0

中央の仕切りが2つのモニターの境界にあるように、両方のモニターをカバーするように(エッジをドラッグして)1つのターミナルのサイズを変更するローテクな方法は実行できませんか?


1
両方のモニタが異なる高さであれば、あるいはあなたがOS Xを使用している場合、これは仕事をしません
ジェームズ・

0

tmux各ターミナルで個別のセッションを開始し、各セッションの単一tmuxウィンドウを垂直に2つのペインに分割します。

したがって、各ターミナルで:

$ tmux new-session \; split-window -h

または、各端末で:

$ tmux new \; splitw -h

1つのセッションでは2つの端末が常に同期され、同じtmuxウィンドウが表示されるため、2つのセッションが必要です。

次に、デスクトップのショートカットを使用して、2つの端末を切り替えます。

個人的には、1つのモニター、1つのtmuxセッション、2つの(または多数の)分割tmuxウィンドウを互いに「背後」に移動し、Ctrlb- nでそれらを交換しますが、それは好みの問題です。

$ tmux new \; splitw -h \; neww \; splitw -h
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.