X server和windows manager的关系

转自:http://hi.baidu.com/johnman/blog/item/69a11a4f2c7b2634aec3ab30.html

X服务器和WM(window manager
窗口管理器)之间是什么关系. 
平时大家起动图形界面是怎么启动的呢? 
如果你是一开己就进入图形界面那就太遗憾了.应为你错过了了解X服务器起动过程的好时机.不过没关系.你打开一个XTERM输入: 
init

就可以安全的回到字符界面. 
好了,等做完以下实验你就完全明白X和WM(window manager
窗口管理器)之间是什么关系了. 
先输入以下命令: 
#startx 
起动图形界面,你看到的是一个和平时使用一样的完整的图形界面操作环境. 
你可以最大化,最小化,移动,关闭窗口等. 
按ctrl+alt+backspace反回字符界面. 
输入: 
#xinit 
再次启动图形界面,你看到了什么,你看到一个XTERM.而且不能移动.但是你可以在这个XTERM中输入命令打开X应用程序,如果我输入: 
#mozilla 
打开浏览器,你看到的浏览器和平时有什么不同吗?他在屏幕中间,不能移动,不能最小化,不能最大化,没有边框. 
为什么同样一个X应用程序会有这样的不同呢?因为我们用startx起动图形界面的时候同时也启动了一个WM(即窗口管理器),如果你用KDE就起动了KDE,如果你用GNOME就起动了GNOME.但是你用xinit起动图形界面的时候却没有起动WM. 
现在你明白窗口管理器的作用了吗?他的作用就是最大化,最小化,移动,关闭窗口等.而这些不是X服务器来负责完成的. 
如果你用xinit起动图形界面并在xterm中输入twm,看看会有什么? 
xterm被加上了一个边框,你可以通过这个边框移动,最大化,最小化这个xterm,twm就是XFree86中自带的窗口管理器,是一个比较简陋的最简单的窗口管理器,但是他具有窗口管理器的全部特征. 
如果你不输入twm而输入gnome-session就可以起动GNOME 
或者输入startkde起动KDE. 
通过以上的实验你就可以清楚的明白他们之间的关系.

原文地址:https://www.cnblogs.com/super119/p/2413454.html