什么是窗口管理器、桌面管理器、桌面环境?您需要哪一个?为什么?
答案1
了解 Dos 和窗口管理器
Ubuntu 和 Debian 与 DOS 类似;它从键盘接收输入并通过在一个屏幕(一个窗口)上输出文本来响应输入。窗口管理器 (WM) 允许绘制多个窗口,因此对于多任务处理和操作系统设计的重大发展至关重要。屏幕上绘制的任何内容;都是窗口管理器在工作,但它需要从一个或多个程序接收绘制命令。在桌面(根窗口)上绘制背景,这是一个向 WM(窗口管理器)发送命令的程序。恢复桌面内容是另一个向 WM 发出命令的程序。绘制任务栏、应用程序启动器、dock、系统托盘,这是多个程序向 WM 发出更多命令。在接收这些绘制命令时,这些命令的一部分必须指定是在现有窗口还是新窗口中绘制。
问题是,如果窗口管理器是一个新窗口,它会做什么?它会放在另一个窗口的顶部、旁边,还是同时允许这两种可能性?这是堆叠窗口管理器、平铺窗口管理器和动态窗口管理器之间的基本区别。Microsoft Windows 使用堆叠窗口管理器,但请稍等,为什么允许堆叠窗口,顺序又在哪里?两个原因:允许堆叠窗口以充分利用屏幕空间,而堆叠窗口管理器的顺序是任意的,没有必要;如果您可以看到它并选择它,那么根据 Microsoft 和堆叠窗口管理器的说法,这就足够了。如何 - 称为任务栏。在 Windows 上,此任务栏包含开始按钮、快速启动、窗口(按启动顺序)和系统托盘。因此,您应该能够通过其标题在任务栏中看到您的窗口,只需用鼠标选择它即可将其置于前面并成为焦点。这就是堆叠窗口管理器的工作原理。从技术上讲,如果它们具有用于导航窗口的键绑定(键盘快捷键),则它们不需要任务栏。巧合的是,这正是人们使用平铺窗口管理器浏览窗口的方式,平铺窗口管理器按照模式对窗口进行排序,而不会重叠,但会以屏幕空间为代价。
在平铺窗口管理器中,每次都必须选择并最大化窗口,这很烦人。堆叠窗口管理器的乐趣在于,您可以浏览最大化的窗口;您只需最大化一次即可。也许有些平铺管理器有办法解决这个问题,但据我所知没有。现在,平铺管理器通过使用虚拟桌面(又称工作站)解决了有限的屏幕空间问题;每个工作站都有自己的屏幕,因此当您用完屏幕空间时,只需移动到其他工作站即可。您也可以通过堆叠窗口管理器来做到这一点,但这对于平铺窗口管理器尤其重要。但是,我发现这很烦人,也很乏味。如果您有一个超大屏幕或多个屏幕,平铺管理器更有意义,但这只是个人观点,因为许多 Windows 用户都有多显示器设置,而 Windows 使用哪种窗口管理器 - 堆叠式。拥有小型单显示器的外行会更喜欢带有任务栏的堆叠窗口管理器,并发现它更容易使用(仅依赖于鼠标)。这是因为平铺窗口管理器使用组合键来控制窗口,而需要记住的组合键很多,新用户(尤其是不熟悉平铺窗口管理器的用户)无法轻松弄清楚如何使用它,尤其是在没有视觉提示(例如某些堆叠窗口管理器的窗口右上角的减号、矩形或 X)帮助引导他们的情况下。因此,平铺管理器对于外行来说天生就更复杂。按键绑定允许人们操作窗口(最小化、最大化、打开、关闭、全屏显示)、组织(并排放置、放置在不同的工作站上)、选择窗口(切换到、切换自)和执行程序,而无需应用程序启动器,等等。
除了熟悉不同类型的窗口管理器之间的差异之外,在选择特定的窗口管理器之前,还有一些重要的注意事项。确保你安装的窗口管理器具有控制窗口所需的所有按键和鼠标绑定以及按钮,并且还允许自定义按键绑定。如果没有足够的按键绑定来控制窗口,那么这是一个糟糕的窗口管理器,不要安装、尝试、测试或使用它。NB 自定义按键绑定可以通过与窗口管理器分开的许多其他应用程序启用。如果你安装了堆叠窗口管理器,请确保你还安装了任务栏。同样,我不推荐没有配置文件的窗口管理器,因为说实话,你将不得不自定义它,特别是如果你没有使用桌面管理器,我们将很快讨论这个问题。
一些出色的堆叠窗口管理器包括 (Blackbox、Openbox、Fluxbox、XFwm、Kwin、Jwm、Icewm、Metacity、Mutter)。Mutter 被设计为一个库。因此 GNOME-Shell 是一切;一个 shell、一个合成器和一个窗口管理器 [链接][1]。一些出色的平铺窗口管理器包括 i3、Sway、Awesome、Dwm、PaperWM)。
了解桌面管理器
桌面管理器 (DM) 的一些示例包括 Gnome Desktop、Xfce、LXDE、Plasma (KDE)。DM 是一系列程序及其依赖项,它们指示 WM 绘制桌面的各种组件。DM 如果不具有持久的图形用户空间(即所谓的桌面),则不能称为 DM。DM 还应提供在桌面或任务栏上安装各种小部件的选项,以及在桌面上添加和删除任何内容的能力。所有其他功能都是可选的,但它们通常包括带有应用程序启动器和系统托盘的任务栏。桌面(用户空间)在技术上是一个无法关闭但可以终止的根窗口。此根窗口是会话和重启持久的,具有可自定义的背景、重要或经常访问的文件和文件夹,以及用于访问系统上任何位置的程序、文件和文件夹的快捷方式,即回收站和已安装的驱动器可能位于桌面上。不同的用户有不同的桌面。
A桌面环境(DE)桌面上的任何内容或窗口管理器的初始化都会在重启后持久化。如果您避免使用桌面管理器,而选择主要使用窗口管理器,那么您可能希望增强您的 DE,而不仅仅是想要;到达终端、空白背景或空白壁纸背景,无论是否带有右键菜单。
i3wm 是一个平铺窗口管理器,附带了许多程序,这些程序是 DE 增强功能的“代码”。这些增强功能是临时任务栏和系统托盘。如果您仔细想想,看看桌面的基础,它本质上是一个带有一个文件夹和背景的文件管理器。也就是说,它是一个与窗口管理器分开的程序。您可以在 i3wm 和大多数窗口管理器中设置根窗口,甚至可以使该重新启动持久化,但这属于 DE,而不是 DM,因为它没有用户空间,也没有内置的轻松添加或删除桌面项目的功能。
DM 总是使用堆叠窗口管理器,因为这些窗口管理器允许在任何地方绘制任何内容,这是桌面的必要条件,而桌面不仅是根窗口,而且是假全屏 (FFS) 根窗口。FFS 将屏幕填满到桌面(即任务栏)中其他非透明窗口的边框。
现在,您是否想要或需要一个始终在后台即时可用的文件和文件夹用户空间,并且不需要加载文件管理器即可访问您的/home
目录(真正的用户空间)?如果回答是,那么您需要一个提供桌面并允许您轻松自定义桌面的 DM。请记住,您还需要一个堆叠窗口管理器,因为平铺窗口管理器必须按照预设顺序划分窗口而不重叠。平铺窗口管理器与任何窗口管理器一样,必须与所有内容保持一致,并且由于根据预设顺序平铺窗口管理器,因此绘制任务栏需要做出例外,但预设例外是矛盾的或不可能的。它本质上不属于平铺窗口管理器的角色。另一方面,堆叠窗口管理器确实理解根窗口的概念。堆叠和平铺窗口管理器都必须在窗口内绘制,但由于堆叠窗口管理器可以以任何方式重叠窗口,因此这实际上意味着它们可以在任何位置绘制而没有任何规则,不像平铺窗口管理器。我还没有找到一个理解根窗口概念的平铺窗口管理器,这可能是一个动态窗口管理器。请记住,DM 的主要功能是桌面(持久图形用户空间)以及从桌面添加和删除项目的能力。
选择 DM 时可能会感到困惑,但只要您记住它们的设计目的,就不会感到困惑;提供持久的图形用户空间(桌面)并允许用户轻松自定义桌面,即轻松添加或删除项目(小部件、栏)。第三个感兴趣的信息是内存使用情况。就其工作而言,我会进行以下排名:1. Plasma-Desktop(没有比这更好的了),2. Gnome-Desktop(不那么模块化或简单,但仍然非常可定制)3. XFCE(添加和删除小部件的便利性不足;可以放在栏或桌面上的项目)。这是我的看法。就内存而言,排名是 1. XFCE(300MB),2. Plasma(410-500MB)3. Gnome(450-500MB)。
这只是一个个人喜好问题。DM 更易于使用,但占用更多内存和 CPU。WM 路线需要付出更多努力才能获得精致的外观并使其持久,但通常占用更少的系统资源,并且更稳定。