X视窗系统的几个概念(经典)

    技术2022-06-23  54

    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服务器和客户端之间的互动,会重新导向到窗口管理器。每当要显示一个新窗口时,这个请求便会被重新导向到窗口管理器,它会决定窗口的初始位置。此外,大部分较新的窗口管理器会改变窗口的亲属关系,通常会在窗口顶部加上标题列,并在窗口周围加上装饰性的框架。这两个部分皆由窗口管理器来控制,而不是其它程式。因此,当使用者点击或拖曳那些元件时,窗口管理器会进行适当的动作(如移动或改变窗口的大小)。

    窗口管理器也负责处理图示,图示并不存在于X Window核心协议的层次中。当使用者将窗口图示化时,窗口管理器会取消窗口的映射(使其不可见),并完成适当的动作,将窗口改显示成图示。某些窗口管理器并不支援图示功能。

    窗口管理器主要的目标,就如同其名,是用来管理窗口的。许多窗口管理器提供附加的功能,如处理鼠标在根窗口上的点击,呈现出窗格以及其它的视觉化元件,处理按键(例如 Alt-F4 可关闭窗口),判定哪一个应用程式在启动时执行等等。

     

    -----------------------------------------------------------------------------

    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.

     


    最新回复(0)