了解X window以及相关知识

1X window简介

X Window(也常称为X11X)系统是一种以位图方式显示的软件视窗系统,最初是1984年麻省理工学院的研究,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所移植适用的标准化软件工具包及显示架构的运作协议。

X的实质是工具包及架构规范,即是一个协议,X协议主要有X应用程序(客户端)和X服务器组成,而XFree86Linux现在使用的是Xorg)是实现X协议的一个X服务器软件,他能按照X协议的规定来完成X应用程序提交的在屏幕上显示的任务。一般情况下,X协议的服务器和客户端都在同一台电脑上,X应用程序向本机的X服务器发出操作请求,然后X服务器将结果输出到本机显示器中,实现图像显示,因此我们感受不到。

2X协议的客户端实现--Xlib

XFree86XorgX协议的服务器软件,但客户端更多的是让程序员更方便的使用X协议使其能和服务端进行交互,因此就产生了一个Xlib库,这个库封装了X协议的内容,通俗地说,现在说的Xwindow编程就是利用Xlib进行客户端开发,但使用Xlib库非常不方便,于是就有开发者对Xlib进一步封装,产生了QTGTKQT直接使用Xlib库,GTK使用GDKGliB函数库,这两个函数库也是使用Xlib的。

3、桌面环境

窗口管理器的作用是实现窗口的最小最大化、移动和关闭等操作,X服务器并不能操作窗口,要实现这个功能它必须借助窗口管理器,因此X服务器自带一个简单的窗口管理器(Xfree86twm)。KDEGNOME也是窗口管理器,在QT基础上实现的窗口管理器叫KDE,在GTK上实现的叫GNOME。启动他们后就进入了我们熟悉的可视化操作图形界面,但他们功能并不只有窗口管理,还有提供菜单桌面等很多实用程序和应用程序,因此我们又称KDEGNOM为桌面环境(还有XFCELXDE等)。同一个linux有不同版本的桌面,比如ubuntuGNOME桌面(从ubuntu11.04后就变成了UNITY),KubuntuKDELubuntuLxde

4、Display环境变量

Linux/Unix类操作系统上,DISPLAY用来设置将图形显示到何处,DISPLAY环境变量的格式如下:host:NumA.NumBhostX服务器所在的主机名或者ip地址,图形将显示在这一机器上,假如host为空(即DISPLAY=:0.0),则表示X服务器运行于本机中。要想连接别的机器的X服务器,必须设置DISPLAY环境变量。

参考资料:

X Window:

https://www.cnblogs.com/youxia/p/linux003.html

https://www.jb51.net/LINUXjishu/512251.html

Xlib:

https://tronche.com/gui/x/xlib-tutorial/

https://www.x.org/releases/X11R7.6/doc/libX11/specs/libX11/libX11.html

https://blog.csdn.net/dbzhang800/article/details/6428207

https://blog.csdn.net/xqhrs232/article/details/78450316

DISPLAY环境变量:

http://blog.chinaunix.net/uid-23072872-id-3388906.html

原文地址:https://www.cnblogs.com/qjswxd/p/10281306.html