在一个 tmux 会话中使用多个终端 x-windows

Joh*_*n M 19 terminal tmux

我通常使用 2 个不太垂直对齐的显示器(我的左显示器下方有一个台式电源),但我希望在我的屏幕上并排有 4 个终端窗口,我可以轻松地循环切换,如下所示:

在此处输入图片说明

这种安排让我感到非常难过,因为我无法仅使用我的键盘以理智的方式轻松地循环浏览所有 4 个(alt-tab 不会为我剪切它,因为它没有保持所有 4 个窗口的“排序” - 如果我反复按 alt-tab,它只是在我最近最少使用的两个窗口之间弹跳)

有没有办法让 tmux 生成第二个 x 窗口,这样我就可以有 2 个 x 窗口,每个窗口内部都有 2 个 tmux 窗格?

Jig*_*aga 20

tmux 允许您创建“会话组”——多个会话,它们都可以附加到同一组窗口。

(感谢 https://gist.github.com/chakrit/5004006 :)

在左侧终端中,创建一个新的 session+window 组。

tmux new-session -s left
Run Code Online (Sandbox Code Playgroud)

像往常一样将其拆分为窗格。

:split-window -v
Run Code Online (Sandbox Code Playgroud)

在另一个(右侧)终端中,连接到该现有窗口组。您将不得不为其提供旧名称以进行连接,并为其提供自己的会话名称以区分它。

tmux new-session -t left -s right
Run Code Online (Sandbox Code Playgroud)

在该会话中,创建另一个窗口并拆分

:new-window
:split-window -h
Run Code Online (Sandbox Code Playgroud)

您现在可以看到tmux每个(终端)窗口中的所有 ( ) 窗口,但每个窗口中的视图彼此独立。

要从一个切换到另一个(不使用窗口管理器自己的快捷方式),您可以使用例如。xdotool

xdotool search --name 'left:0:' windowactivate
xdotool search --name 'right:1:' windowactivate
Run Code Online (Sandbox Code Playgroud)

这些假设您已启用tmux'sset-titles选项,以便为终端提供可搜索的名称;并且您只tmux在每个窗口中使用一个窗口(一组窗格)。


Wal*_*alf 0

您不能采用一种低技术方法来调整一个终端的大小(通过拖动边缘)以覆盖两个显示器,从而使中心分隔线位于两个显示器的边界吗?