X window是LINUX,UNIX系统上广泛使用的图形界面系统。然而对X系统,有许多概念常常被误解。网上用词不准确的文章比比皆是。X Window System 一个可移植的,网络透明的窗口系统。Server/Client结构 X Window System基于Server/Client结构,服务端是X Server,X Server程序一般为 X, Xorg, Xnest等等。图形程序是Client。X Server 为图形程序提供显示服务,并且接收用户的界面输入,把输入事件交个图形程序处理。 注意:在windows机器上,使用类似Xmanager的软件登录UNIX/Linux服务器的时候,windows机器上的Xmanager程序是Server,UNIX/Linux机器上的图形程序是Client。 在启动图形程序的时候,必须指定使用的X Server, 使用display name指定,格式为: hostname:displaynumber.screenumber。实用环境变量DISPLAY或者命令行参数 "- display" 指定。如果X Server在本机,hostname为空,值如 ":0.0". 如果X Server在另外的机器上,值如: "10.0.18.15:0.0"。 X Server和位于客户端的图形程序有多种通信方式。如果,客户端和服务端在一个机器上,使用高效率的local通道,如果在不同机器上使用TCP通信。 XFree86/Xorg (Xorg源于XFree86 4.4rc2)都是X Windows System的实现。窗口管理器 (windows manager) 常见的窗口管理器: fvwm ,fvwm2 ,twm ,mwm 等等. 窗口管理器是一个特殊的图形程序,对其他图形程序运行的窗口进行管理。为窗口提供装饰(标题栏,边框,标题栏上的按钮)和对窗口操作提供支持(改变大小,移动,控制窗口重叠), 许多窗口管理器还提供了菜单,虚拟桌面,鼠标手势等功能。 注意:X server一般只准许一个窗口管理器在运行。 如果没有窗口管理器,图形程序也是可以运行的,最新运行的图形程序的窗口会在最上端, 并且全屏显示,无法窗口切换。桌面环境Desktop 这是容易和窗口管理器混扰的概念。桌面环境一般自带一个窗口管理器,并且提供更多的实用程序。如:方便机器配置的控制中心,文件管理器,有丰富内容的任务栏等等。 常见的桌面环境: gnome, kde ,cde ,xface 等等,窗口管理器和桌面环境大全,网站: http://www.xwinman.org/X Display Manager这个概念也容易和窗口管理器(Window Manager)混扰。xdm, gdm, wdm等,都是Display ManagerDisplay Manger 对多个XServer进行管理,可以管理本地的或远程的X Server。linux机器如果以运行级别5启动,启动进入的图行的用户登录的界面就是Display Manager的界面,用户在界面上输入用户名和密码,Display Manger就会启动本地上的Xserver,初始化一个X回话,一般还通过脚本Xsession启动本地的窗口管理器和桌面环境。如果在配置文件里面设置xdmcp=true,Display Manger还通过XDMCP协议管理远程的XServer。当在Windows机器上使用XManager软件登录Linux/unix机器,其实是使用XDMCP协议登录的,用户同样输入用户名/密码登录。xdm启动一个X回话,不过这次XServer是在远程的机器上。
------------------------------------------------------------------
窗口管理器:
窗口管理器和桌面环境是用户在 X Window 系统里的主要界面. 窗口管理器只是个程序, 它控制窗口的外表,位置和提供用户去操作这些窗口程序的方法. 桌面环境为操作系统提供了一个较完整的图形操作界面, 和提供了一定范围和用途的实用工具和应用程序.
-----------------------------------------------------------------------------
X Display Manager:
在X Window世界里,X Display Manager以一个程序 的方式在运行。允许在X Server上开始建立一个会话(Session)。 XDM会显示一个用户登陆窗口提示用户输入用户名和密码,当用户成功输入用户名和密码后,一个会话(Session)就建立并启动了。 如果XDM运行在客户的机器上,那么它会在显示用户登陆窗口之前启动X Server. 如果XDM运行在远端机器上,那么它的工作方式类似于Telnet服务器,需要用户输入用户名和密码来开始一个远端会话(session)。一些常见的XDM:
SCOlogin (provided by SCO Open Desktop) also checks for expired passwords and performs some administrative tasks GDM (GNOME) KDM (provided by KDE) allows the user to graphically select, in the login screen, a window manager or desktop environment XDM, the default X Window System Display Manager dtlogin (shipped with CDE) WINGs Display Manager (using the WINGs widget-set used in Window Maker) entrance (employs the architecture used in Enlightenment v.17). SLiM, which is desktop environment independent.