web-dev-qa-db-ja.com

1つのtmuxセッションで複数のターミナルx-windowsを使用する

私は通常、完全に垂直に配置されていない2台のモニターで作業します(左側のモニターの下にベンチトップ電源があります)が、次のように4つのターミナルウィンドウを並べて簡単に切り替えることができます。

enter image description here

この配置では、キーボードだけを使用して4つすべてをまともな方法で簡単に切り替えることができないため、非常に悲しくなります(4つすべてのウィンドウの「順序付け」が維持されないため、Alt-Tabで切り取られません。 Alt-Tabキーを繰り返し押します。最近使用していない2つのウィンドウ間で跳ねます)

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

19
johnny_boy

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

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

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

tmux new-session -s left

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

:split-window -v

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

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オプションを有効にしていることを前提としています。そして、それぞれで1つのtmuxウィンドウ(ペインのセット)のみを使用していること。

15
JigglyNaga

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

0
Walf

各ターミナルで個別の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
0
Kusalananda