术语对帐:显示管理器与会话管理器,窗口系统与窗口管理器


23

我正在参加Linux Foundation的Linux入门课程。一些术语似乎是重叠或矛盾的,特别是当我尝试用其他资源(例如TLDPWikipedia)补充课程资料时。

“显示管理器”与“会话管理器”是否一样?

显示管理器:该程序通过启动窗口系统并通常要求用户名和密码来启动窗口系统会话。

会话管理器:启动和维护图形会话的组件。

同样,“窗口系统”是否与“窗口管理器”相同?

窗口系统:为高级软件提供GUI关键元素的软件。为应用程序提供(通常是)矩形,可调整大小的表面,以向用户展示其GUI。

窗口管理器:控制窗口,窗口镶边和控件的放置和移动。

并且要确保对X的了解:据我看来,“ X Window System”是用于位图显示的窗口系统,“ X11”是X Window System的当前协议版本,而“ X.Org Server”是X11协议的参考实现。那是对的吗?


即使在这些线程中,也存在混乱和矛盾。例如,在SuperUser线程中,Ignacio Vazquez-Abrams提到:“ X11是网络协议”,而user113907提到:“ X11是窗口系统(在屏幕上绘制窗口的东西)”。
dotancohen 2014年

谢谢。我将开始提供一些悬赏,以寻求全面的答案。如果我把这笔赏金给我,我需要等两天。
dotancohen

Answers:


7
Is a "Display Manager" the same thing as a "Session Manager"?

答:不,他们不一样。该session manager管理您的会话,并display manager负责为您提供一个登录界面。

Likewise, is a "Windowing system" the same thing as a "Window manager"?

答:不,他们不同。该window mangager坐在顶部Window system

Window system:每个当前正在运行的应用程序分配的显示的通常调整大小和通常为矩形形状的表面以呈现其图形用户界面给用户; 与不允许重叠的平铺界面相反,这些窗口可能彼此重叠。

window manager:当一个窗口管理器正在运行,某些类型的X服务器和客户之间的交互都是通过窗口管理器重定向。特别是,无论何时尝试显示新窗口,此请求都会重定向到窗口管理器,该管理器决定窗口的初始位置


会话管理器

在中X Window System,X会话管理器是一个会话管理程序,该程序可以保存和恢复一组正在运行的应用程序的当前状态。


X窗口管理器 源码

An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

种类 window managers

  1. 堆叠窗口管理器
  2. 平铺窗口管理器
  3. 合成窗口管理器
  4. 虚拟窗口管理器
  5. 可扩展的窗口管理器

用户可以third-party window managers在多种方法之间进行选择,这些方法在几种方面彼此不同,包括:

外观和功能的可定制性:

  • 用于启动程序和/或更改选项的文本菜单

  • 基座和其他图形方式启动程序

  • 多个桌面和虚拟桌面(大于物理监视器大小的桌面),并通过传呼机1在它们之间进行切换

  • 消耗内存和其他系统资源

  • 与桌面环境的集成度,它提供了到操作系统的更完整的界面,并提供了一系列集成的实用程序和应用程序。

尽管窗口管理器的主要目的是管理窗口,但是许多窗口管理器还具有其他功能,例如处理根窗口中的鼠标单击,显示窗格和其他可视元素,处理一些击键(例如Alt-F4可能会关闭窗口)。 ),决定要在启动时运行哪个应用程序等。


展示广告管理器 来源 (来源网站中有展示广告管理器列表)

display manager,或登录管理器,典型地是在引导过程的代替默认壳的端部上显示的图形用户界面。显示管理器有多种实现方式,就像各种类型的窗口管理器和桌面环境一样。通常,每一个都有一定量的自定义和主题性。

X显示管理器

在中X Window System,X显示管理器作为程序运行,该程序允许从同一台或另一台计算机上的X服务器上启动会话。

A display manager向用户显示一个登录屏幕,提示输入用户名和密码。当用户成功输入用户名和密码的有效组合时,会话开始。


X Window系统 源码

Debian X窗口系统手册

xorg网站

X Window System(X11,X,有时非正式的X-Windows)是用于位图显示类UNIX计算机操作系统窗口系统,常见的。

X提供了GUI环境的基本框架:在显示设备上绘制和移动窗口以及与鼠标和键盘进行交互。X并不要求用户界面-这是由各个程序处理的。因此,基于X的环境的视觉样式差异很大。不同的程序可能呈现完全不同的界面。


14

这是一个非常简短的粗略描述:

显示管理器:该程序为您提供图形登录,然后启动您的会话。以root或专用用户身份运行。

会话管理器:实际控制会话的程序。在您的帐户下运行。

窗口系统:完整的GUI绘图/控制系统。描述本身不是组件,而是一起描述所有组件。

窗口管理器:确定窗口放置位置,获得哪些装饰(框架,关闭/图标化/菜单按钮等)以及如何获得/失去焦点的程序。


那么,桌面环境需要所有这些吗?
gog

13

窗口系统是一个软件组件,它提供的窗口的应用程序绘制的,并且可以在屏幕上显示这些窗口。的X窗口系统是在Unix系统的标准窗口系统; 在Mac OS X之外,它实际上并没有竞争(如果WaylandMir可行,这可能会改变)。X Window系统具有客户端-服务器体系结构,其中服务器(称为X服务器或X11服务器)管理显示硬件,客户端是应用程序。在X服务器上显示窗口的应用程序称为X客户端或X应用程序(或X11客户端或X11应用程序)。

就应用程序而言,重要的是应用程序和窗口系统之间的通信协议。该协议称为X11(该协议的第11版,自1987年以来为当前版本),具有几个通用扩展名。

X.Org是X窗口系统的实现。自从2004年项目开始以来,它一直是事实上的标准实现,接管了XFree86。X.Org包括X服务器的通用部分和特定于硬件的部分,以及许多客户端库和实用程序。

一个显示管理器是一个X11程序,其目的是(通常提示输入用户名和密码),并在成功地验证来验证用户身份,从而启动一个会话的用户。当用户登录时,显示管理器以root身份运行(至少部分运行)并终止或至少离开前台。显示管理器负责启动X服务器,该服务器同时提供登录提示和后续的用户会话。

会话管理器是一个程序,其任务是启动其他程序。这是作为用户交互式会话的一部分启动的第一个程序。可以由显示管理器启动(在删除特权后)。如果用户通过显示管理器以外的其他方式(通常带有文本模式登录提示)登录,则也可以通过以用户身份运行的某些程序来启动它。这通常是通过startx该脚本负责启动X服务器,运行会话管理器并在完成后终止X服务器。会话管理器可以是任何东西,从用户可以在其中键入命令的简单终端仿真器,启动多个预定义程序的脚本到可以记住从一个会话到下一个会话的应用程序和窗口位置的复杂程序。会话管理器退出时,会话结束。

一个窗口管理器是一个特殊的角色的X客户端。创建新窗口时,它会接收通知,并且通常会捕获许多用户事件(键和鼠标绑定)。它的工作是选择显示窗口的位置和大小,显示和隐藏窗口,显示窗口装饰(边框,标题栏等)。几乎每个窗口管理器都可以充当会话管理器-窗口管理器无论如何都要运行整个会话。大多数窗口管理器为用户提供了一种通过菜单或按键绑定启动新程序的方法,尽管严格来讲,这并不是窗口管理器角色的一部分。

您没有提到的另一个术语是桌面环境。桌面环境是X客户端的集合,至少包括会话管理器,窗口管理器和图形外壳,以及诸如菜单,停靠,剪贴板管理器,宏工具等实用程序的集合。


没有DE的WM可以吗?DE是具有某些基本功能的WM吗?哪些方面产生差异?
瓦斯2014年

@Vass WM是DE的组件之一。请参阅答案的最后一段,并单击链接以获取更多信息。
吉尔斯

10

“显示管理器”与“会话管理器”是否一样?

虽然不完全,但是它们在实现上经常重叠。

一个显示管理器只是让用户登录和启动一个会话,其中包括所有来自您登录到运行时刻,当你从计算机再次注销程序。通常,显示管理器将启动桌面环境,并且通常还会为用户启动会话管理器

桌面环境主要由窗口管理器组成,但也包含用户在桌面计算机上期望的许多其他程序,例如GNOME桌面环境具有一个称为Web的Web浏览器和一个称为Files(以前称为Nautilus)的文件管理器。

另一方面,会话管理器负责在用户注销时存储当前正在运行的应用程序,在用户再次登录时再次启动它们,并自动为桌面环境启动一组程序和后台守护程序。例如,注销后可能会保存您正在运行Chromium的信息,然后在登录时再次启动它,或者自动启动GNOME Keyring之类的功能,该功能可以存储各种程序的密码和密钥。

因此,您可以有一个没有会话管理器的显示管理器,同样,您也可以有一个没有显示管理器的会话管理器,或者两者都在同一时间,甚至没有。

同样,“窗口系统”是否与“窗口管理器”相同?

不,它们是完全不同的,但是容易混淆术语是可以理解的。X Window System是一个Windowing System,由一个X服务器,X11协议和与该服务器通信的X客户端组成。(客户端是您在计算机上运行的程序。)

在X Window系统中,您具有X客户端,它们使用X11协议与正在运行的X Server实例进行对话。X客户端将消息发送到X服务器,告诉它在屏幕上绘制的内容,而X服务器实际上是与图形卡进行对话并在屏幕上显示被告知的内容。

请务必注意,X窗口系统本身不管理窗口。登录时启动的窗口管理器会告诉X服务器窗口在屏幕上的位置,绘制诸如边框和标题栏之类的窗口装饰,使您可以在屏幕上四处移动窗口,关闭窗口等。 ..如果没有运行Window Manager,您所看到的就是启动的X客户端,没有任何窗口装饰,并且您将无法移动窗口。

X窗口系统参考实现服务器是X.Org服务器,窗口管理器的一些示例是KDE的KWin,GNOME的杂音器以及平铺窗口管理器(例如i3和dwm)。X客户端包括Web浏览器(例如Chromium和Firefox),邮件客户端(例如Thunderbird),终端仿真器(例如GNOME终端和白蚁)以及您可以想到的所有其他X应用程序。

并且要确保对X的了解:据我看来,“ X Window System”是用于位图显示的窗口系统,“ X11”是X Window System的当前协议版本,而“ X.Org Server”是X11协议的参考实现。那是对的吗?

正确。


引用X Window系统的默认桌面管理器XDM的联机帮助页:

Xdm提供的服务类似于init,getty和在字符终端上的登录所提供的服务:提示输入登录名和密码,验证用户身份以及运行“会话”。

“会话”是由特定过程的生存期定义的;在传统的基于字符的终端世界中,它是用户的登录外壳。在xdm上下文中,它是一个任意会话管理器。…当没有真正的会话管理器时,通常使用窗口管理器或终端仿真器作为“会话管理器”,这意味着该过程的终止会终止用户的会话。

- XDM(1)


澄清:您的“正确”。在最后一段中,引用的是引用中的第二个问题,而不是第一个,对吗?
Izkata 2014年

嗯,是的,甚至都没有考虑过。会改变它。
kyrias 2014年

您可以有多个没有窗口管理器的窗口。它们将没有任何装饰,您将无法拖动它们或调整它们的大小等。但是在创建它们时,它们仍然会以您为其提供的配置显示在屏幕上。
Barmar 2014年

@Barmar啊,谢谢,以前从未在没有WM的情况下运行过多个X应用程序,但是我想如果只运行一个就没有多大意义。
kyrias 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.