Linux显示系统

一、X Window

X Window是Linux上的窗口系统,由三个基本元素组成:X Server、X Client和二者通信的通道。

X Server

控制输出及输入设备并维护相关资源的程序,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上(在屏幕上构造方块(窗口),然后画出里面的元素 )。

每一套显示设备只对应唯一的X Server。由系统供应商提供,通常无法被用户修改 。只是一个普通的用户程序
自由软件编写者或厂商开发出了多种X Server:

  • XFree86:一个免费的X Server软件,2004年弃用GPL协议。
  • Xorg:XFree86的衍生版本。这是运行在大多数Linux系统上的X Server,Red Hat Enterprises Linux 5.0上也是如此。
  • Accelerated X:由Accelerated X Product开发,在图形的加速显示上做了改进。
  • X Server suSE:SuSE Team’s开发。
     

X Client

应用程序的核心部分,它与硬件无关,每个应用程序就是一个X Client。X Client可以是终端仿真器(Xterm)或图形界面程序,它不直接对显示器绘制或者操作图形,而是与X Server通信,由X Server控制显示。

X Client是X Window中的用户端程序,多种多样的X Client程序向X Server发出请求,由X Server运算得出结果,再显示到指定的地方去,如本地或者远程的一台显示器。

X Client无法直接影响视窗行为或显示效果,它们只能发送一个请求给X Server,由X Server来完成这些的请求
 

X通信通道

X Client与X Server之间传输信息的媒介 。

X通信通道的主体是xlib(X函数库),

X Client调用xlib,利用相应的通信功能向X Server发出请求

X Server完成任务之后,同样调用xlib把结果显示指点的设备上去


二、图形界面开发库

GTK、Qt是图形界面开发库(GUI Toolkit),用户可以使用这些开发库编写GUI应用。

这两套库又是基于X window server的,需要遵守x11协议。

  • GDK: 对libx11的简单封装
  • GLIB: 加强版的libc, 封装了很多实用函数
  • libx11/libxcb: 最底层的图形界面库, QT/GTK使用该库实现; 开始只有libx11, 但是不太好用, libxcb试图替代libx11;

三、桌面环境

KDE、GNOME是桌面环境我们用户真正看到的图形界面,窗口管理器,当然他们还提供了例如菜单,软件列表,鼠标,桌面等控件,所以称他们为桌面环境更合适。

KDE基于QT实现,GNOME基于GTK实现。

四、wayland

wayland详解_浩瀚之水_csdn的博客-CSDN博客

Wayland是一套display server(Wayland compositor)与client间的通信协议,而Weston是Wayland compositor的参考实现。其官网为http://wayland.freedesktop.org/。它们定位于在Linux上替换X图形系统。在X系统中,X Server作为中心服务,连接clien和硬件以及compositor。但时至今日,X Server就显得比较累赘了。Wayland在架构上去掉了这个中间层,将compositor作为display server,使client与compositor直接通信,从而在灵活性和性能等方面上能够更加出色。


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛文旺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值