文章目录

  • 一、显示管理器(Display Manager)
    • 1.1 什么是 Linux 中的显示管理器?
    • 1.2 不同的显示管理器
    • 1.3 其他
      • 控制台显示管理器
      • 图形界面显示管理器
  • 二、窗口管理器(Window Manager)
  • 三、桌面环境/桌面管理器(Desktop Manager)
    • 3.1 常见的桌面环境/桌面管理器
  • 四、显示服务器
    • 4.1 X11
    • 4.2 Wayland
    • 4.3 Mir
    • 4.4 为什么我们还在使用 Xorg?

进阶知识,在Linux的一个应用场景是个人电脑、个人PDA、移动交互设备,这些都会涉及到,显示管理、窗口管理、桌面环境、显示服务器等等,相对于一个还在用busybox、Buildroot构建散装操作系统的嵌入式Linux开发人员来说,上面的四个概念是令人震惊的、令人颅内高潮的。

2023年5月5日16:00:12 被这些管理器震惊了!之前没有听说过!

  • 开机后,在登陆界面,此时是处于显示管理器的范畴
  • 登陆成功后,进入桌面,打开几个软件,这就是在窗口管理器和桌面管理器的范畴了。

一、显示管理器(Display Manager)

聊聊Linux操作系统中的显示管理器及如何更换

显示管理器(Display Manager),用于开机后显示登陆界面,并启动窗口管理器等X组件。 没有显示管理器,Linux开机会显示命令行登陆界面,需要使用命令行登陆后手动启动Xserver和窗口管理器才能显示GUI,显示管理器自动的完成这些工作.常见的有GDM、LightDM、DDM。

1.1 什么是 Linux 中的显示管理器?

 简单来说,显示管理器(Display Manager, DM)是一个为你的 Linux 发行版提供图形登录功能的程序。它控制用户会话并管理用户认证。显示管理器会在你输入用户名和密码后,立即启动显示服务器并加载桌面环境。

 显示管理器通常是登录界面的代名词。毕竟它是可见的部分。然而,我们所能见到的登录界面,也叫欢迎页(greeter),只是显示管理器的一部分。

像各种桌面环境和显示服务器一样,也有各种显示管理器。

1.2 不同的显示管理器

有些人认为显示管理器是桌面环境的一部分,但事实并非如此。它是一个独立的程序。

桌面环境可能会推荐某个显示管理器,但这并不意味着它不能与其它一些显示管理器一起工作。如果你曾经在同一个系统中安装过不止一个桌面环境,你会记得,登录界面(即显示管理器)允许你切换桌面环境。

虽然显示管理器不是桌面环境本身的一部分,但它往往与桌面环境由同一个开发团队开发。它也成为桌面环境的代表。

 例如,GNOME 桌面环境开发了 GDM(GNOME Display Manager),光看登录界面就会想到 GNOME 桌面环境。

一些流行的显示管理器有:

  • GDM(GNOME 显示管理器GNOME Display Manager):GNOME 的首选。

  • SDDM(简单桌面显示管理器Simple Desktop Display Manager):KDE 首选。

  • LightDM:由 Ubuntu 为 Unity 桌面开发。

 可见的登录屏幕被称为欢迎页。这个欢迎页可以进行自定义来改变登录屏幕的外观。事实上,许多发行版和/或桌面环境都制作了自己的欢迎页,以给用户提供一个类似于他们品牌的登录屏幕。

KDE显示管理器

1.3 其他

有图形化界面的显示管理器就有控制台命令行显示管理器。

控制台显示管理器

  • CDM — 用 Bash 编写的登录管理器

  • Console TDM — 用 Bash 编写的 xinit 扩展

  • nodm — 用于自动登录的显示管理器(自 2017 年以来不再维护)

  • Ly — 用于 Linux 和 BSD 的 TUI(类似 ncurses)显示管理器

  • tbsm — Bash 会话或应用程序启动器。支持 X 和 Wayland 会话

  • emptty — TTY 上的简单 CLI 显示管理器,支持 X 和 Wayland

  • loginx — 带有友好 curses 用户界面的 getty/login/xinit 组合

图形界面显示管理器

  • Entrance — Enlightenment 显示管理器
  • GDM — GNOME 显示管理器
  • LightDM — 跨桌面显示管理器,可以使用任何工具包编写的各种前端
  • LXDM — LXDE 显示管理器。可以独立于 LXDE 桌面环境使用
  • SDDM — 基于 QML 的显示管理器,KDM 的继任者;推荐用于 Plasma 和 LXQt
  • XDM — 支持 XDMCP 的 X 显示管理器,适合服务器主机

二、窗口管理器(Window Manager)

窗口管理器(Window Manager)则是为了实现一个屏幕上显示多个X程序,实现调整程序大小,标题栏,最大化,最小化,关闭按钮,虚拟桌面这些功能。

 如果没有窗口管理器,那么一次只能运行一个GUI程序,而且分辨率锁死,显然很不符合使用习惯。窗口管理器往往集成在常见的桌面环境中,比如Xfce使用的窗口管理器为Xfwm,此外还有Gnome的mutter,KDE的Kwin等。

窗口管理器根据管理窗口的方式不同,被分为几个门类。

  • 合成式窗口管理器(compositing window manager)
  • 堆叠式窗口管理器(stacking window manager)
  • 瓷砖式窗口管理器(tiling window manager)
  • 动态窗口管理器(dynamic window manager)

以Windows为例窗口管理器:

 此外为了显示桌面图标,还需要一个文件管理器(File Manager).。

 将显示管理器、桌面管理器和文件管理器以及一些常用的组件和程序集合起来,就构成了桌面环境。常见的桌面环境有Gnome,KDE,xfce等。

 需要注意的是,有的桌面环境不包含显示管理器,比如xfce,有的桌面环境包含,比如gnome就自带gdm这个显示管理器。 ,需要单独安装。因此常见的linux发行版(比如arch linux)安装桌面环境时(比如安装xfce),需要先单独安装xorg,然后安装xfce,最后还需要安装显示管理器(比如ddm)。这样重启之后才能登录图形界面。

以上文字来源于
Linux 图形界面的显示原理是什么? - 韩朴宇的回答 - 知乎
https://www.zhihu.com/question/321725817/answer/669568568

三、桌面环境/桌面管理器(Desktop Manager)

 在计算机科学中,一个桌面环境(Desktop environment,有时称为桌面管理器)是对桌面比拟的实现。它由多个软件组成。一个桌面环境中的软件共享同一个图形用户界面。在一个典型的桌面环境中,这些软件提供给计算机用户视窗,文件夹,工具栏,壁纸、图标以及像拖放等服务。不同桌面环境在设计和功能上的特性会赋予其与众不同的外观和感觉。

 一般封闭操作系统(如Microsoft Windows NT)所用的桌面环境是相对不可变的。但是也有主题和第三方软件可以完全更改常见界面元素的外观(比如窗口、按钮和图标)以及界面本身。在Windows中,这一切可以通过替换默认的Explorer shell来实现。

3.1 常见的桌面环境/桌面管理器

来源于:https://zh.wikipedia.org/wiki/%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83

四、显示服务器

 显示服务器是一个程序,它负责协调其客户端与操作系统的其他部分之间,以及硬件和操作系统之间的输入和输出。基本上,多亏了显示服务器,你才能以图形化的方式使用你的计算机(GUI)。如果没有显示服务器,你只能局限于命令行界面(TTY)。

 显示服务器提供了一个图形环境的框架,使你可以使用鼠标和键盘与应用程序进行交互。

 显示服务器通过显示服务器协议(如 X11)与客户端进行通信。显示服务器是图形用户界面特别是窗口系统中的一个关键组件。

 不要把显示服务器和桌面环境混淆。桌面环境的下层使用的是显示服务器。

Linux 中有三种显示服务器协议,分别是 X11、Wayland 和 Mir。下面我就给大家简单介绍一下这些显示服务器。

4.1 X11

X11(也称 X)是已经存在多年的传统显示服务器。它是 Linux 发行版中最常用的显示服务器。

X11 通信协议,使用显示服务器 X.org 服务器。它接收来自设备驱动程序的输入事件,并将它们提供给它的一个客户端。

显示服务器也从客户端接收数据,它处理数据并进行合成,在 Linux 上,它将数据传递给三个内核组件之一:DRM、GEM 或 KMS 驱动。

X.Org 服务器是一个显示服务器,它依靠第二个程序:合成窗口管理器,来进行合成。例如 Mutter 或 KWin。GNOME 使用的是 Mutter。

4.2 Wayland

按照其网站的说法,Wayland “旨在作为 X 的更简单的替代品,更容易开发和维护”。

而事实上 Wayland 就是现代的显示服务器,它应该取代传统的 X 显示服务器。

对它的采用还在普及中。Ubuntu 曾试图在 17.10 版本中改用 Wayland 作为默认的显示服务器,但这个尝试遭到了负面反馈。

很多 GUI 应用程序及其框架都依赖于 X 服务器。这些应用程序在 Wayland 上无法正常工作。

这迫使 Ubuntu 继续使用 X 作为默认显示服务器。它仍然提供了使用 Wayland 的选项,但不再是默认的了。

即使在今天,绝大多数的发行版都默认使用 X 显示服务器。

实施 Wayland 显示服务器协议的显示服务器,被称为 Wayland 合成器。和 X11 上的一样,Wayland 合成器负责处理其客户端的输入和输出,但同时也进行合成,这与 X11 相反。

几个 Wayland 合成器是 Weston、Mutter、KWin 或 Enlightenment。

4.3 Mir

Mir 显示服务器自带的 Mir 显示服务器协议,与 X11 和 Wayland 使用的协议不同。它是由 Canonical 开发的,作为 Unity 开发的一部分,打算成为 Ubuntu 的首选显示服务器。

但在 2017 年,它已经被 [Ubuntu] 桌面版的 Wayland 显示服务器所取代,不过 Mir 的开发还在继续,用于物联网(IoT)应用。

4.4 为什么我们还在使用 Xorg?

Wayland 作为比较新的产品,相比 Xorg 来说,还不是很稳定。作为客户端的程序,必须知道如何与显示服务器进行通信。

因此,很多程序在使用 Wayland 时可能无法运行。Ubuntu 默认切换到 Wayland 的实验证实了这一点。

来源:
Linux 黑话解释:什么是显示服务器,用来做什么?
http://www.embeddedlinux.org.cn/emb-linux/industry-news/202009/07-9232.html

【进阶知识】显示管理器,窗口管理器,桌面环境/桌面管理器,显示服务器相关推荐

  1. Linux桌面环境通过VNC远程Linux服务器

    linux桌面环境通过VNC远程Linux服务器 现在有的开发者小伙伴的开发环境是linux系统的,如ubuntu.deepin.centos等,很多情况下都需要远程到一些服务器上进行操作.我们知道如 ...

  2. iis下的php不显示报错信息,IIS环境下 PHP无法显示错误信息怎么办

    IIS环境下 PHP无法显示错误信息的解决办法:1.更改PHP的配置文件[php.ini]:2.在网站的根目录下面新建一个[web.config]文件,并添加相应代码:3.安装组件[VCRUNTIME ...

  3. 桌面最前 desk_使用T3Desk在3D桌面环境中管理应用程序

    桌面最前 desk Are you looking looking for an "Alt+Tab" replacement that adds functionality, co ...

  4. arch linux笔记本安装kde桌面环境

    arch linux笔记本安装kde桌面环境 安装驱动 安装桌面环境 启用管理器和服务 参考文献 安装驱动 查看显卡型号 我这边是amd集成显卡,安装xf86-video-amdgpu 安装X窗口系统 ...

  5. 代码删除linux桌面环境,manjaro更换深度桌面 卸载ked桌面(示例代码)

    下载需要的桌面环境 pacman -S deepin deepin-extra 修改/etc/lightdm/lightdm.conf sudo nano /etc/lightdm/lightdm.c ...

  6. linux centos 查看桌面环境

    Linux的桌面系统系统多达十几种,像gnome.kde.mate.cinnamon.lxde.xfce.jwm等.比较常用的一般是gnome.kde.xfce等.那么如何判断Linux系统安装了哪种 ...

  7. Linux系统检查查看桌面环境

    Linux的桌面系统系统多达十几种,像gnome.kde.mate.cinnamon.lxde.xfce.jwm等.比较常用的一般是gnome.kde.xfce等.那么如何判断Linux系统安装了哪种 ...

  8. linux桌面环境是什么意思,Linux 黑话解释:什么是桌面环境?

    在桌面 Linux 世界中,最常用的术语之一就是 桌面环境(Desktop Environment)(DE).如果你是 Linux 的新手,你应该了解一下这个经常使用的术语. 什么是 Linux 中的 ...

  9. 怎么样在腾讯云服务器桌面环境安装

    这两天快把自己的爬虫项目写完了,在自己本地的机器上也试了很多回,我第一个自己写的东西(不算有多好,但这是我认真去写的代码),从入门到框架,到基础模块的拆分和扩展,花了我1个多月的时间.想着它快能跑起来 ...

最新文章

  1. 写在马哥教育第八期开始之前
  2. 图解基本C语言程序一
  3. 数据库:悲观锁与乐观锁
  4. 解决问题ImportError: HDFStore requires PyTables, quot;No module named 'tables'quot; problem importing
  5. sql server 2005 在 windows7 报 IIS Feature Requirement 错误。解决办法。
  6. 米家扫拖一体机器人重置键_全面升级——米家扫拖机器人1T体验
  7. 舰r4月28服务器维护,崩坏3 11月28日版本更新维护通知
  8. 安装django库 指定2.0版本
  9. 网站白痴的 ASP.NET website 学习日志
  10. oracle表空间扩容方法
  11. 对象序列化和反序列化是怎么回事
  12. python的全局变量 local variable ‘xxx‘ referenced before assignment
  13. 原生JS实现HTML文件上传,简单实现js上传文件功能
  14. 多屏信号服务器,多屏图像拼接处理器 多种信号输出输入
  15. 设计分享 | STM32F103RCT6利用ULN2003驱动步进电机正反转
  16. cpu在计算机系统中的地位和作用是什么,电脑的核心-中央处理器(CPU)及其在游戏中的作用...
  17. layui分页样式改变
  18. 校园英语杂志校园英语杂志社校园英语编辑部2022年第15期目录
  19. AD20笔记-元器件绘制
  20. WEB前端项目实战/酒仙网开发-李强强-专题视频课程

热门文章

  1. 【总结】PPT如何写的更美观
  2. jenkins使用自定义方式结合k8s实现ci/cd-后端实战
  3. Python练习题答案: 杂乱无章的页面列表【难度:1级】--景越Python编程实例训练营,1000道上机题等你来挑战
  4. 老猫桃u盘linux启动盘,老毛桃U盘启动盘制作教程
  5. 平方的和与和的平方之差
  6. nutch学习、、孤剑之家 宝剑锋从磨砺出,梅花香自苦寒来。我欲仗剑走天涯。 博客园 首页 新随笔 联系 订阅订阅 管理 随笔 - 771 文章 - 8 评论 - 13
  7. jsp mysql登录注册实验报告_登陆注册页面实验报告.doc
  8. 广州画册设计公司画册设计宣传
  9. PTA-软件外包公司
  10. CodeForces - 29A - Spit Problem