将 i3 与多个显示器一起使用

您是否在 Linux 工作站上使用多台显示器? 一次看到很多东西可能是有益的。 但我们的工作流程中的窗口通常比物理监视器多得多——这是一件好事,因为一次看到太多东西可能会分散注意力。 因此,能够切换我们在单个显示器上看到的内容似乎至关重要。

让我们谈谈 i3 — 一个流行的平铺窗口管理器,它适用于多个显示器。 还有一个许多其他窗口管理器没有的方便功能——独立切换各个监视器上的工作区的能力。

i3快速介绍

这 Fedora 大约三年前,杂志已经报道过 i3。 这是有史以来最受欢迎的文章之一! 尽管情况并非总是如此,但 i3 相当稳定,并且该文章在今天仍然非常准确。 所以——不要重复我们自己——这篇文章只涵盖了启动和运行 i3 的最低限度,如果你是 i3 的新手并且想了解更多关于基础知识的信息,欢迎你继续阅读它。

要在您的系统上安装 i3,请运行以下命令:

$ sudo dnf install i3

完成后,注销,然后在登录屏幕上选择 i3 作为您的窗口管理器,然后重新登录。

当您第一次运行 i3 时,系统会询问您是否希望继续进行自动配置 – 在此处回答是。 之后,您将被要求选择一个“mod key”。 如果您在此处不确定,只需接受将 Windows/Super 键设置为 mod 键的默认设置。 您将对窗口管理器中的所有快捷方式使用此键。

此时,您应该会在底部看到一个小条和一个空白屏幕。 让我们来看看一些基本的快捷方式。

使用以下命令打开终端:

$mod + enter

使用以下命令切换到第二个工作区:

$mod + 2

打开 firefox 分两步,首先:

$mod + d

…然后键入“firefox” 并按下回车键。

通过以下方式将其移动到第一个工作区:

$mod + shift + 1

…并通过以下方式切换到第一个工作区:

$mod + 1

此时,您将看到一个终端和一个 firefox 窗户并排。 到 close 一个窗口,按:

$mod + shift + q

还有更多快捷方式,但这些应该为您提供开始使用 i3 的最低要求。

啊! 并退出 i3(注销)按:

$mod + shift + e

…然后在右上角使用鼠标确认。

让多个屏幕工作

现在我们已经启动并运行了 i3,让我们让所有这些屏幕开始工作吧!

为此,我们需要使用命令行,因为 i3 非常轻量级并且没有 gui 来管理额外的屏幕。 但是,如果这听起来很困难,请不要担心——它实际上非常简单!

我们将使用的命令称为 xrandr。 如果您的系统上没有 xrandr,请运行以下命令进行安装:

$ sudo dnf install xrandr

安装完成后,让我们继续运行它:

$ xrandr

输出列出了所有可用的输出,并通过显示支持的分辨率指示了哪些连接到了屏幕(通过电缆连接的监视器)。 好消息是,我们不需要真正关心具体的解决方案就能让它们发挥作用。

这个具体 example 显示了笔记本电脑的主屏幕(名为 eDP1),以及连接到 HDMI-2 输出的第二台显示器,物理位置在笔记本电脑的右侧。 要打开它,请运行以下命令:

$ xrandr --output HDMI-2 --auto --right-of eDP1

就是这样! 您的屏幕现在处于活动状态。

第二个屏幕处于活动状态。 此屏幕截图中显示的命令与文章中显示的命令略有不同,因为它们设置了较小的分辨率以使屏幕截图更具可读性。

在多个屏幕上管理工作区

在多个屏幕上切换工作区和创建新工作区与只有一个屏幕非常相似。 在当前处于活动状态的屏幕上创建新的工作区——鼠标光标位于该屏幕上。

因此,要切换到特定工作区(或创建一个新工作区以防它不存在),请按:

$mod + NUMBER

您可以独立切换各个显示器上的工作区!

左侧屏幕上的工作区 2,右侧屏幕上的工作区 4。
左屏切换到工作区 3,右屏仍显示工作区 4。
右屏切换到工作区 4,左屏仍显示工作区 3。

在监视器之间移动工作区

同样的方式,我们可以通过以下命令将窗口移动到不同的工作区:

$mod + shift + NUMBER

…我们也可以将工作区移动到不同的屏幕。 然而,这个动作没有默认的快捷方式——所以我们必须先创建它。

要创建自定义快捷方式,您需要在您选择的文本编辑器中打开配置文件(本文使用 vim):

$ vim ~/.config/i3/config

并将以下几行添加到配置文件的最底部:

# Moving workspaces between screens 
bindsym $mod+p move workspace to output right

Save, close,要重新加载并应用配置,请按:

$mod + shift + r

现在,您可以通过以下方式将活动工作区移动到第二台显示器:

$mod + p
工作区 2 Firefox 在左侧屏幕上
工作区 2 Firefox 移动到第二个屏幕

就是这样! 享受全新的多显示器体验,了解更多关于 i3 的信息,欢迎阅读之前关于 i3 的文章 Fedora 杂志,或查阅 i3 官方文档。