X窗口系统

一、X

        指X Window System,是一种位图方式显示的窗口系统。1984年由MT(麻省理工学院)研发,它是在类Unix操作系统上建立图形用户界面的标准工具包和协议,并可用于几乎所有已有的现代操作系统。之所以叫作X,是因为英文字母X就在W(indow)后面,即表示下一版的新视窗之意。
        X窗口系统的设计哲学是:提供机制,而非策略。它的协议和架构是基于C/S模型。一个服务器与多个客户端程序通讯。服务器接受对于图形输出(窗口)的请求并反馈用户输入(键盘、鼠标、触摸屏),服务器可能是一个能显示到其他显示系统的应用程序,也可能是控制某个PC的视频输出的系统程序,也可能是个特殊硬件。

二、X11

        X Window在推出之后快速演化,在1987年时候,其核心协议已经是第11版本了,简称:X11。这个版本已经将“提供机制,而非策略”这个哲学贯彻地非常彻底,以致于核心协议基本稳定,不需要特别大的改动。于是乎到现在X Window依然是X11。
        X11只定义了如何与内核通讯、如何与Client通讯,具体的策略,依然是交给开发者自己。
        由于它是基于网络架构的C/S模式,所以基本上是分成X ServerX Client两个组件。

1、X Client

        基于X11协议的客户端。指在计算机上运行的程序(比如Firefox等)。客户端想要显示图形,必须通过服务端,然后让服务端来负责显示。

2、X Server

        基于X11协议的服务端。负责管理键盘、鼠标、显卡、显示器等输入输出设备。客户端收到来自键盘、鼠标等输入设备的数据,通知服务端进行显示,服务端通过控制输出设备进行输出。这样的好处是,客户端和服务端不用在一台电脑上,客户端也可以在网络上。

三、X org

        X11只是协议而已,并不是程序实现。而X org则是这套X11协议的程序实现,可以运行到电脑上。X org主要是扮演服务端(X Server)的角色。

1、窗口管理器(XWM)

        窗口管理器(X Window Manager),简称XWM。则是为了实现一个屏幕上显示多个X程序,实现调整程序大小,标题栏最大化、最小化、关闭按钮、虚拟桌面这些功能。如果没有窗口管理器,那么一次只能运行一个GUI程序,而且分辨率锁死,显然很不符合使用习惯。窗口管理器往往集成在常见的桌面环境中,比如Xfce使用的窗口管理器为Xfwm,此外还有Gnome的mutter、KDE的Kwin等。

2、显示管理器(XDM)

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

四、桌面环境

        桌面环境(Desktop Environment),简称DE。常见的Linux桌面环境有:

1、Cinnamon

在这里插入图片描述
        Cinnamon是GNOME 3的一个分支,它最出名的便是与 Windows 相似的用户界面,可以帮助Linux 入门用户轻松上手并减低不适应度。
        Cinnamon集成的各种基本应用都源于GNOME 3,Cinnamon集成了面板、主题、小应用程序和各种自定义组件扩展,面板位置屏幕底部边缘,配备了主菜单、启用程序、打开窗口列表及系统托盘等。
        使用它作为默认的桌面环境的Linux发行版主要有:Linux Mint。
优点

  • 现时尚精致的外观。
  • 熟悉的界面。
  • 非常漂亮的定制。

缺点

  • 偶尔出现Bug。

2、GNOME

在这里插入图片描述
        GNOME是各Linux发行版采用最为广泛、最流行的桌面环境之一,许多Linux发行版都使用GNOME作为默认桌面环境。它也有一些流行的分支,例如 Cinnamon 、Unity等等。GNOME以易于使用和定制为设计初衷,目前果最新的GNOME 3具有非常现代和有吸引力的用户界面,并能为触摸设备提供更好的支持。
        GNOME几乎包含了所有现代化桌面环境需要的所有功能,GNOME 3比GNOME 2的精典模式提供了更好的界面,仪表板、全系统搜索和强大的应用程序都能够直接轻松搞定用户使用需求。不过桌面环境的定制调整需要使用gnome-tweak-tool工具来完成,在3.18版本中它还了文件管理器的一些有趣功能,例如对Google Drive进行了集成。
        使用它作为默认的桌面环境的Linux发行版主要有:Debian、Fedora、openSUSE、Ubuntu GNOME。
优点

  • 现代和触摸友好的用户界面。
  • 能够通过 Shell 扩展延伸功能。
  • 可定制性强。

缺点

  • 接扩展管理不尽如人意。

3、KDE

在这里插入图片描述
        KDE绝非只是一个桌面环境,实际上是各种应用程序与 Linux 桌面的一个集合,桌面环境本身只作为该套应用环境的一个子集。目前最新的 KDE 环境名叫 Plasma,它又分为 Plasma Desktop 和 Plasma Netbook 两个版本, KDE 可以说是目前定制性最强,最为灵活的 Linux 桌面环境之一。
        其它桌面环境可能需要使用额外的工具才能进行自定义或调整,而 KDE 将这一切都集成进了系统设置当中,用户不需要使用任何第三方工具即可以对桌面进行个性化订制,如下载桌面小工具、壁纸和主题等。
        KDE 还对常用的基本应用程序进行了集成,并对未使用 KDE 开发平台构建的应用进行兼容,KDE 集成的应用非常丰富,完全能够满足普通用户的日常应用,而无需安装其它替代应用。
        使用它作为默认的桌面环境的Linux发行版主要有:openSUSE、Kubuntu。
优点

  • 功能十分丰富强大。
  • 采用现代化用户界面。
  • 高度可定制性和灵活性。
  • 范围广泛的软件兼容性。

缺点

  • 稍重的资源占用。
  • 某些组件使用起来似乎过于复杂。

4、LXDE

在这里插入图片描述
        LXDE是一款速度极快、足够省资源的桌面环境,它提供足够轻量和用户友好度的桌面,它采用的模块化实现方法让每个组件都可以独立使用,这也让LXDE移植到其它Linux、BDS 和Unix更加容易。
        LXDE自带各种桌面组件、系统和配置工具。
        使用它作为默认的桌面环境的Linux发行版主要有:Lubuntu。
优点

  • 足够轻量,速度极快。
  • 几乎支持所有Linux发行版。

缺点

  • 用户界面似乎没有什么吸引力。

5、MATE

在这里插入图片描述
        MATE桌面环境基于目前无人维护的GNOME 2,MATE最初就是为对GNOME 3失望的用户而开发。fork GNOME 2的代码进行开发并不意味着就使用过时的技术,MATE将继续使用现代技术进行改善。
        MATE桌面环境采用了现代而又不失传统的桌面体验,它支持面板系统、各种菜单、小程序、指示器和按钮等,并可按用户的需要进行布置。MATE自带的基本应用都从GNOME 2复制过来进行集成,它本身对资源的消耗非常小,能够在不十分强劲的硬件平台上稳定工作。
        使用它作为默认的桌面环境的Linux发行版主要有:Ubuntu MATE。
优点

  • 直观和稳定的用户体验。
  • 简单、轻便。
  • 高度可定制。

缺点

  • 接口看起来有些老了。

6、Unity

在这里插入图片描述
        Unity也是基于GNOME桌面环境开发而来,配备有最核心的GNOME应用程序。Unity主要用于Canonical开发的Ubuntu桌面环境。
        Unity主攻方向为使用键盘、鼠标、触控板甚至触摸屏的用户提供一致一用户体验,为用户提供了简单的应用程序并集成了触控友好的使用环境,还实现了一些新的想法和技术,如Lens和HUD等。
        尽管针对Unity桌面环境有大量的争论,但它还是有非常大量的用户,这都归功于它是目前最流行Linux发行版Ubuntu的默认桌面环境。
        使用它作为默认的桌面环境的Linux发行版主要有:Ubuntu。
优点

  • 非常直观。
  • 无缝的桌面体验。

缺点

  • 定制性较差。
  • 不适用于主要的Linux发行版。

7、XFCE

在这里插入图片描述
        XFCE是Linux、BSD及其它类Unix发行版最为轻量级的桌面环境之一,XFCE提供了非常精简、现代、有视觉吸引力的用户友好界面并配备了一套具有基本功能的应用程序。
        使用它作为默认的桌面环境的Linux发行版主要有:Manjaro Linux 、Xubuntu。
优点

  • 非常轻量,适用于老旧硬件。
  • 界面足够现代、有吸引力。
  • 有一定定制性。

缺点

  • 内置应用较少。

五、XLib

        客户端的C语言接口库,它封装了X协议,并对应用程序提供方便使用的API。使用X-Lib,应用程序不用直接向服务器发送请求与处理回复。

猜你喜欢

转载自blog.csdn.net/hezhanran/article/details/122343844
今日推荐