感觉相关的概念有些多,一直很乱,网上看了很多,看后就忘,干脆把看到的融合后亲自敲出来,一让自己印象深刻,也可与大家共勉。
其中重点参考:http://blog.chinaunix.net/u/31756/showart_256277.html
X windows,笼统的称为X,是一种位图显示的视窗系统,是建立图形用户界面的标准工具包和协议。X 是协议,不是具体的应用程序。X 为GUI环境提供了基本的框架:在屏幕上绘图、移动视窗以及与鼠标键盘的互动。
现在多用x11版本,X11R6全称为X protocol version 11 release 6。X11使用户可以运行基于X11的应用程序。
X是通过server/client架构来实现工作的。
Xserver:server为图行程序提供显示服务,并接受用户界面输入,把输入事件交给图行程序(可以是windows manager)处理,并能创建、映射、删除视窗以及在视窗中写和绘图。
Xclient:client是一个运行在连接X服务器上的应用程序。它可以发送请求给server,并从server处接受事件。
Windows manager:matchbox
窗口管理器是一个特殊的图形应用程序,它对其他图行程序运行的窗口进行管理,为窗口提供装饰(标题栏、边框等)、对窗口操作提供支持(改变大小、移动、重叠)。许多窗口管理器还提供了虚拟桌面、鼠标手势等功能。
Xserver一般只允许一个窗口管理器运行。
如果没有窗口管理器,图行程序也可以运行的,但只有最新运行的程序在最上端,并且全屏显示,无法窗口切换。
桌面环境(desktop):Gnome、KDE、xface
这是一个容易和窗口管理器混淆的概念。桌面环境一般自带一个窗口管理器,并提供更多的实用程序。如方便管理的控制中心、文件管理等。
X display manager:XDM、gdm、wdm
Display manager对多个Xserver进行管理(本地的或远程的)。Linux 机器如果以级别5启动,进入的用户登陆界面就是display manager,用户输入用户名和密码,display manager就会启动本地的Xserver,初始化一个x会话,一般还通过xsession启动本地的窗口管理器和桌面环境。
如果在配置文件里设置xdmcp=true,display manager还可以通过xdmcp协议管理远程的Xserver。当在windows机器上使用Xmanager登陆linux/unix机器时,其实是用xdmcp协议登录的,用户同样输入用户名/密码登陆,xdm启动一个x会话,不过这次的Xserver是在远程的机器上。