无论您在计算机上使用多少显示器,您都无法在桌面上容纳所有应用程序窗口。 当然,除非你有合适的工具。
窗口管理器是一个完美的工具,可以很好地满足这一要求,并允许您充分利用计算机/外部显示器的屏幕空间。
但它到底是什么,它能做什么,以及你可以在 Linux 上使用的最好的窗口管理器是什么? 这是一个指南,其中包含所有此类问题的答案。
什么是窗口管理器?
就像任何其他类 Unix 操作系统一样,Linux 也使用 X 窗口系统 (或 X11)作为其默认窗口系统,以生成各种基于 GUI 的应用程序运行所需的基本 GUI 元素。
然而,除此之外,X11 系统并没有什么可提供的。 因此,您无法根据自己的喜好使用它来管理和组织桌面上的应用程序窗口。
这就是窗口管理器的用武之地。它允许您管理应用程序窗口在计算机显示器或外部显示器上的显示和行为方式。 这样,您就可以控制它们的位置,从而控制外观,这样您就可以充分利用显示器的屏幕空间并改善您的多任务处理体验。
适用于 Linux 的最佳窗口管理器
以下是适用于 Linux 的最佳窗口管理器列表(浮动和平铺),您可以使用它们来充分利用屏幕的空间。
1. Xmonad
图片来源:Komrade Toast/维基百科
Xmonad 是一个免费的开源动态平铺窗口管理器,适用于 Linux。 它是用 Haskell 编写的,并带有一个配置文件,可帮助您根据自己的喜好个性化其行为。
由于它是用 Haskell 编写的,因此立即理解和配置 xmonad 的配置文件可能非常具有挑战性,尤其是如果您之前没有使用 Haskell 的经验。 然而,对于那些对该语言有很好理解的人来说,可定制性和可用性的范围远远超出了大多数窗口管理器所能提供的范围。
xmonad 的最大优势之一是它可以自动为您安排窗口,因此您可以更好地专注于完成工作。 至于其功能集,该程序提供了广泛的扩展库、Xinerama 支持(用于多显示器设置)和即时重新配置等。
要在 Debian/Ubuntu 上安装 xmonad,请运行:
sudo apt install xmonad
在 Arch Linux 上:
sudo pacman -S xmonad
在 Fedora/CentOS 和其他基于 RHEL 的系统:
sudo dnf install xmonad
2. 惊人的
图片来源: 维基百科
Awesome 最初是 DWM(动态窗口管理器)的一个分支,但后来演变成它自己的成熟的 Linux 窗口管理器。 该计划的目标之一是在不影响高级功能的情况下提供快速简单的窗口管理解决方案。 在大多数情况下,它已经做到了这一点。
它是用 Lua 编写的,Lua 是一种功能强大的编程语言,在定制方面具有广泛的使用范围。 如果您是想要完全控制 GUI 和窗口管理的高级用户,awesome 可以为您提供几乎所有您想要的东西,并提供一个记录良好的 API 来帮助您。
让 awesome 从其他一些窗口管理器中脱颖而出的一个方面是,它没有使用已知会引起延迟的 Xlib 库,而是使用异步 XCM 库,确保您的操作不会受到太多影响潜伏。
在 Debian/Ubuntu 上安装 awesome:
sudo apt install awesome
在 Arch Linux 上:
sudo pacman -S awesome
在 Fedora/CentOS/RHEL:
sudo dnf install awesome
3. DWM
图片来源:Anselmgarbe/维基百科
DWM 或动态窗口管理器是此列表中较旧的 Linux 窗口管理器之一。 它是一个动态的窗口平铺管理器,并且一直是开发流行窗口管理器(例如 xmonad 和 awesome)的灵感来源,这主要是因为它的最小和简单的功能运行良好。
然而,作为这种轻量级方法的结果,DWM 面临某些缺点。 其中之一是缺少配置文件,这使得自定义程序元素变得复杂,因为现在您必须修改其源代码并在每次要进行更改时构建它。
正是由于这个原因,DWM 通常是那些需要一个简单的窗口管理器来完成一项工作(窗口管理)的人的首选窗口管理器,而不是那些充满额外元素和功能的东西,这可能会增加复杂性到体验。
要在 Debian 和 Ubuntu 上安装 DWM,请使用:
sudo apt install dwm
在 Arch Linux 上:
sudo pacman -S dwm
安装 DWM Fedora/CentOS 和基于 RHEL 的系统很容易:
sudo dnf install dwm
4. 冰水管理
图片来源:Eryk Wdowiak/维基百科
IceWM 是一个用 C++ 编写的堆栈窗口管理器。 它完全专注于提供快速流畅的窗口管理体验,这使其非常适合动力不足的 Linux 机器。 然而,尽管它是轻量级的,但该程序并没有在基本的可用性和可定制性上妥协。
它使用纯文本文件,修改起来要容易得多,并使定制变得轻而易举。 不仅如此,它还提供了文档化的指南来帮助您修改配置文件。 另外,这里和那里有随机(阅读“有用”)工具提示,让您熟悉 GUI 元素及其功能。
IceWM 中一个有趣的 GUI 附加功能是底部的内置任务栏,它进一步简化了桌面上应用程序窗口和工作区的管理和组织。 同样,它还提供对 RandR 和 Xinerama 的支持,这是帮助您进行多显示器设置的好方法。
在 Debian/Ubuntu 上安装 IceWM:
sudo apt install icewm
在 Arch Linux 上:
sudo pacman -S icewm
在 Fedora/CentOS/RHEL:
sudo dnf install icewm
5. i3
图片来源:Michael Stapelberg/维基百科
i3 窗口管理器是一个手动窗口平铺器,支持一堆窗口组织设置。 它是用 C 编写的,与 IceWM 非常相似,它还通过纯文本文件提供配置功能,这使得根据您的风格修改其元素变得容易。
i3 的核心目标是快速和最小化,同时仍能吸引高级用户。 因此,您可以获得基本功能,例如手动窗口放置、主题、多焦点模式,以及任务栏、可配置键绑定等高级选项,以及创建自定义脚本以进行进一步自定义的能力。
总的来说,i3 的方法非常适合所有类型的用户,因为它让您可以控制您希望如何在系统上使用该程序。 您可以按原样使用它,也可以完全修改它以满足您的需要。 这使得它也适用于低功率计算机。
在 Debian/Ubuntu 上:
sudo apt install i3
在 Arch Linux 上安装 i3:
sudo pacman -S i3
在 Fedora/CentOS/RHEL 系统:
sudo dnf install i3
在 Linux 上有效管理 App Windows
如果您必须在计算机上的一堆应用程序和显示器之间来回切换,那么您可以使用上面的任何窗口管理器来有效地利用您的屏幕空间和多任务处理。
如果您刚刚开始使用 Linux,我们建议您查看 i3 窗口管理器。 它速度快、体积小,并提供了您需要的所有基本功能,让您的应用程序窗口井井有条,并最大限度地提高您的工作效率。