kenlistian

勤学多思

  IT博客 :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  412 随笔 :: 0 文章 :: 23 评论 :: 0 Trackbacks
X,X11 的意思(汇总)

 
   X是协议,不是具体的某个软件,

   X并不是UNIX核心的一部分,而是在核心之上的一个应用程序。X提供一种协议,用来产生图形用户界面GUI。
  X不会负责很多事情,它只负责绘制 (Drawing),移动窗口(Moving windows),和鼠标、键盘交互。
  X11 是 Unix 事实上的图形系统标准。Linux,各种 BSD 版本和多数的商用 Unix 都采用它,
   CDE,KDE 和 GNOME 等桌面环境都运行在它之上。
  
     在Linux使用的是一个叫XFree86的免费X11实现来提供相同的功能。不过由于一些License的问题,
   现在 X11的实现已经变成XOrg了。在Linux里面可以到/etc/X11/xorg.conf看到其配置文件。

    X11R6   是 X Protocol version 11 Release 6     
   (X协议第11版第六次发行)的意思,就是说目前用的X协议是第11版的,然后经过了6次小的修正.
    不同版本的X协议是不能通信的.现在的X服务器软件和X应用程序都遵循X11R6.     

    XFree86 3.3.6 XFree86 4.3.6等这些版本是实现X协议的软件XFree86的版本号.
    以上为协议版本和实现协议的软件的版本的区别.


1.   XFree86  
  
    如果你对你的显卡了解很清楚,   可以直接开始,   要不然先用SuperProbe测一下你的显卡的
   芯片,   把型号稍微记一下,   省得呆会儿麻烦.   假如你的显卡很新的话,    最好用最新版本, 对新
    显卡支持得好一些.   XFree86的好处是各种distribution一般都带,   还有好多不同OS的版本, 
   可以在安装时就装上配置   
  
    X11和XFree86的关系,   现在的X   Window   System由The   OpenGroup负责开发(X11R6.4),
     X11R6主要由X11的库和sample   X11   clients组成,   而XFree86主要就是开发i386上的
    X   Server(与硬件相关的).   但在它们distribute时都集成在一起了,
      如X11R6.4带了XFree86   3.3的Server,   而XFree86中也把X11R6的lib/clients集成在   
    一起了   
  
    XFree86   Servers基本上就是分XF86_Mono(单色),   XF86_VGA16(16色VGA),   XF86_SVGA   
    (256色或更多),   XF86_Accel(加速卡,   如Mach*,   S3*等)等几类.   XFree86   Server的   
    特点就是一个很大的ELF文件(2M左右),   /usr/X11R6/bin下以XF86_打头的就是了,   
    然后一般是将X做个符号连接到你当前的X   Server上.   
  
    XFree86的配置有这几个(注意大小写):   
    (1)   基于命令行的xf86config   
      是纯命令行的,   一般安装X时都会装上,   按其提示一步步走就可以了   
      但由于没有Back功能,   选错了只好重来
  
    (2)   图形界面的XF86Setup   
      XF86Setup是个GUI的配置工具,   第一次开始时需要VGA16   Server(你总得有个default   
      X   Server才能有GUI吧?),   比xf86config稍微好用一些,   好歹是GUI的
  
    (3)   基于dialog的Xconfigurator   
      假如用RedHat的话,   还有一个文本方式下基于对话框的也不错,   就是Xconfigurator   
      这个东西挺方便的,   安装RedHat时就是用它配的
  
    这些工具作用就是生成一个Server的配置文件XF86Config.   其实关键是要支持   
    你的显卡硬件,   这个通了,   XF86Config就好办了,   改改总能对的.   要注意这个文件存放   
    的地方,   RedHat是/etc/X11/XF86Config,   Debian/Slackware是/etc/XF86Config.  
     它的 结构也是很清楚的,   就是搞得有点太复杂了,   你也可以手工编辑它来修改.   如你想改   
    Virtual   Screen,   那就查Virtual(vi下/Virtual),   然后找到与你的Server对应的   
    Virtual改了就行了,   还有分辨率什么的,   都可手动改   
  
  
    2.   Accelerated   X   4.1    
  
    假如你的显卡特新(如AGP),   那XFree86也许就不行了,   用Accelerated   X   4.1吧,   这是   
    个很不错的commercial   X   Server,   但已经有crack了.   它的最大好处在于其网页上不断   
    地会有最新显卡的updates,   而且都是免费download的!  它的安装就比XFree86简单多了,  
    解开tgz,   看一下README,   运行安装程序,   输入serial就OK
  
    AX的程序装在/usr/X11R6/lib/X11/AccleratedX   下面,   它很模块化的,   显卡,   显示器,   
    键盘,   鼠标几部分,   不象XFree86那样搞成一个大的ELF文件.   另外它的两个可执行文件   
        /usr/X11R6/bin/下面:   Xaccel(Server)   Xsetup(配置程序)   
  
    它的config文件放在/etc/Xaccel.ini中,   只有很短的几行,   比XF86Config清晰简单多了   
    运行Xsetup时可加参数-text/graphics来分别进文本/GUI配置环境,   不加参数它检测是   
    否有/etc/Xaccel.ini来进不同环境.   
  
  3.   MetroLink   X   Server   
  
    MetroX   Server在Official的RedHat和InfoMagic的CD中是带的,   安装时可以选择   
    安装它或XFree86   Server.   程序都装在/usr/X11R6/lib/X11/Metro下面,   也是模块化的.   
    但这个Metro   X   Server感觉没有AX   4.1支持的显卡新,   但也有它的用处(如我的老   
    S3   868在AX   4.1上只有256色,   而用MetroX就有16bit色了   *_*)   
  
    可执行文件   /usr/X11R6/bin/下面:   Xmetro(Server)   configX(配置程序)   
    那个configX是个Motif界面的GUI配置程序,   会自动启动VGA方式的Xmetro   Server   
    来运行   
  


Window Manager
在多数图形环境中,窗口边框的外观(标题栏,关闭按钮,等)如何显示是由系统定义的。
X11 则不是这样。在 X11 中,窗口的框架(也称为"装饰")是由一个称为窗口管理器的单独程序提供的。
一般认为,窗口管理器只是另外一个客户程序;它用通常的办法启动,并与 X 服务器按同样的方法通信。
有很多不同的窗口管理器供我们选择。

WM的功能可以用简单的一个词来概括--中转。比如一个程序要求X11绘制一个窗口,这个请求会首先被重定向到WM,
WM来确定如何绘制窗口的标题栏(caption)和边框(Frame),在X系统中,这两个元素是由WM决定的。
因此用户在窗口上拖拉和缩放也是由WM来做出反应。大多数WM还支持窗口最小化,也就是变成一个在窗口底部的图标。
这项工作不属于X系统核心协议之列,因此是一些WM自己实现的。

大多数WM还处理一些其他的任务,比如显示根窗口(root window),这个就是Linux里面的桌面,和windows的桌面是topmost window
同样的概念。WM还处理在根窗口上的键盘和鼠标操作,比如Alt-F4关闭窗口之类的功能。


GNOME,KDE,xFce等
这些都是桌面环境(Desktop Envrionment),他们运行于WM之上,提供更完善的桌面集成功能,更自由的定制操作系统使用方式。
X上面的桌面环境与windows,Mac OS X等不同,它可以自由组合,自由更改。
大多数的DE由窗口管理器(WM),文件管理器(FM),一组主题(Theme)与其他用来管理桌面的程序和库组成。

 KDE和GNOME是LINUX里最常用的图形界面操作环境.

 KDE是K Desktop Environment 的缩写.他不仅是一个窗口管理器,还有很多配套的应用软件和方便使用的桌面环境,比如任务栏,
开始菜单,桌面图标等等.     
 GNOME是GNU Network Object Model Environment的缩写.和KDE一样,也是一个功能强大的综合环境.     
  另外在其它UNIX系统中,常常使用CDE作为这样一个环境.      

-- KDE项目是两年前由德国自由程式员发起的,他们采用了挪威Troll Tech软件公司的Qt图像界面库作为基础研发平台,
C++为主要研发语言。然而,因为KDE使用的Qt库所遵循的软件版权协议QPL并不是真正的免费软件协议,以纯免费软件构成
的Linux发行版Debian就拒绝使用KDE。当然,最终用户并不太关心软件许可问题,对他们来说易用性和强大的功能是最重要的。
因此,KDE还是得到了广泛的应用。

----
为了和KDE相抗衡,世界最大的免费软件组织GNU(即免费软件基金会)发起了GNOME桌面环境项目。----
和KDE不同,GNOME采用了符合GPL免费软件协议的GDK、GTK作为其底层研发平台,也就是说GNOME是真正意义上的GPL
免费软件
---- GNOME在GTK的基础上扩充了许多额外的功能,研发了一系列GNOME程式通用的函数库和程式,因此具有统一的界面风格和使用习惯。
----
为了实现各个软件之间甚至基于网络的组件复用,GNOME采用了通用的CORBA组件模型,而KDE虽然前期也采用了CORBA技术,但后来由于速度和复
杂性等原因,逐渐转而采用了自己独有的KPart组件模型。这使得KDE在和其他软件的兼容性方面大打折扣。GNOME由于坚持使用CORBA,使得他在
这方面具有相当大的优势。为了更好地使用CORBA模型,GNOME在ORBit(一套轻量级的CORBA实现)基础上研发了Bonobo组件层,不仅简
化了编程工作,而且实现了灵活的组件复用。GNOME甚至能够通过网络使用其他平台下的CORBA组件。这一点真正体现了GNOME名称的精髓所在。





posted on 2008-11-03 11:37 kenlistian 阅读(865) 评论(6)  编辑 收藏 引用 所属分类: UseTools

评论

# re: X,X11 的意思(汇总) 2008-12-03 02:20 aa
非常好!!!!
谢谢!!!!!
写的非常好
辛苦了!  回复  更多评论
  

# re: X,X11 的意思(汇总) 2010-01-10 09:16 gd
adss  回复  更多评论
  

# re: X,X11 的意思(汇总) 2010-01-10 09:16 gd
dsdasdasda

  回复  更多评论
  

# re: X,X11 的意思(汇总) 2010-01-10 09:16 gd
我草
  回复  更多评论
  

# re: X,X11 的意思(汇总) 2010-01-10 09:17 gd
安定撒  回复  更多评论
  

# re: X,X11 的意思(汇总) 2010-01-10 09:17 gd
发射点发生  回复  更多评论
  

只有注册用户登录后才能发表评论。