QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 922|回复: 11

Xf86config与KDE、CDE......

[复制链接]
发表于 2004-10-4 10:48:13 | 显示全部楼层 |阅读模式
有个概念没搞清楚,请问斑竹...Xf86config与KDE、CDE、Gnome是什么关系啊?能把Xf86config看成,类似Windws动态连接库的东东么?   
发表于 2004-10-4 11:31:52 | 显示全部楼层
X於1984年在麻省理工学院 (MIT)电脑科学研究室开始发展, 当时 Bob
Scheifler 正在发展分散式系统 (distributed system),同一时间 DEC公司
的 Jim Gettys 正在麻省理工学院做 Athena 计画的一部份, 两个计画都需
要一个相同的东西 ------ 一套在 UNIX 机器上优良的视窗系统. 因此合作
关系开始展开, 他们从史丹佛 (Stanford) 大学得到了一套叫做W的实验性
视窗系统, 因为是根据W视窗系统的基础开始发展,当发展到了足以和原先
系统有明显区别时,他们把这个新系统叫做X.

严格地说, X视窗系统并不是一个软体, 而是一个协定 (protocal),这
个协定定义一个系统成品所必需具备的功能 (就如同 TCP/IP, DECnet 或
IBM的 SNA,这些也都是协定, 定义软体所应具备的功能).任何系统能满足此
协定及符合X协会其他的规□, 便可称为X.
    Xinit - 初始(initialization)程式, 启动系统和设定Server执行.

    Xdm - X显示管理器(display manager),一个提供便利和弹性地启动系统
          , 使系统启动成个别需求的程式, 可以和 Xinit两者择一.

    Uwm - X视窗管理器(Window Manager), 此程式决定如何管理你的 "案头"、
          移动视窗、重定视窗大小等等, 你可以利用选单结合滑鼠的按钮
          或键盘完成视窗操作.

    只有Server程式是绝对必需的, 不需其它的程式, 你就可以在X系统上
跑其它的应用程式 (虽然笨了一点). (Xinit 等程式可由其它相同功能程式
替代.)

    以上程式包含了视窗系统, 但除了在视窗上移动游标外, 什麽事也不能
做. 因此实际上, 你需要更多的公用程式和应用程式.

以下的工具程式并不是视窗系统的一部份, 但它们是你要更方便的使用
系统或利用系统做更多的事所不可或缺的, 它们分为以下两个部份:

    1.  视窗系统操作常用工具程式

        只要你用视窗系统代替一般的电脑终端机, 这些程式几乎是天天需
        要的:

        xterm - X终端机模拟器 (terminal emulator), 你的系统内大多
                数的程式并非特别为使用视窗系统设计. 举例来说, 一些
                最普通的系统程式 -- 列出档案目录, 编辑器, 编译器等,
                它们在普通的终端机可以正常的执行, 可是它们如何在连
                视窗系统是什麽都不知道的情况下, 在X下操作? Xterm
                就是建立一个X的视窗, 且允许这些普通的 "笨哑终端机
                (dumb terminal)"程式能够在这个视窗中执行的工具程式.
                这些普通程式会认为它们是在 "真的" 终端机上执行. 当
                然, 你也可以用xterm 去启动其它的X程式而并非一定是
                那些普通程式.

        xhost - 让你控制网路上那些被允许存取你的显示萤幕的其他主机。

        xkill - 一个可杀掉不想要之应用程式的工具程式。

        xwd - 将你视窗内目前的影像倾印 (dump) 到一个档案中,使得你可
              以在稍後重建这个视窗、列印它或做一些你想做的事。

        xpr - 将先前 xwd所抓取 (capture)的视窗影像转换成适合硬拷贝
              (hardcopy)印出的格式.

        xdpr - 结合了 xwd和 xpr,允许你在一个步骤就印出视窗的内容.

        xmag - 将萤幕上被选取的一部份影像加以放大。

        xwud - 将先前 xwd所抓取的视窗影像重新显示於萤幕上。

        x10tox11 - 将能在第10版X执行的程式转换成可在第11版执行。

        xrefresh - 更新 (refresh)显示, 将某些或全部的视窗全部重画
               一遍。

    2.  便利的程式

        xclock - 一个指针或数字型的时钟。

        xclac - 一个计算器,可模拟科学工程型的计算器。

        xload - 用累计图 (histogram)来显示目前机器的负载分布。

        xbiff - X版的 biff,信件到达告知 (barfs if mail arrives) 程
            式,xbiff 会显示一个信箱的表徵图,当信箱上的旗子升起时,
            表示有你的信。
X不像早期的视窗系统,把一堆同类软体集中在一起,而是由三个相关的
部份组合起来。

    1.  一个"server"(供应者):是控制实际显示器和输入装置的程式。

    2.  "Client" (顾客) 程式:需藉著server在指定的视窗中完成特定的
        操作。

    3.  一个 "通讯通道(communication channel)":client和server用来作
        为彼此交谈之用。

    基本的"server","client"和 "通讯通道" 的关系图如图2-1 。

            ┌—————————————┐
            │   p16       fig 2.1      │
            │                          │
            │  图 2-1  X的基础成员    │
            └—————————————┘

底下我们描述一下这三个部份。

Server是控制实际显示器和它的输入装置 (键盘和滑鼠或其它指示装置)
的软体,server可以建立视窗、在视窗中画图形影像和文字、回应client程式
的 "需求" (requests),它不会自己动作,只有在client程式提出需求後才完
成动作。

    每一个显示器只有一个唯一的server。server一般由系统的供应厂商提供
,通常无法被使用者修改。针对作业系统而言,server只是一个普通的使用者
程式而已,因此很容易换一个新的版本,或许甚至是由第三集团提供的原始程
式 (注1) 。

注1:这是Unix系统上的情况,有些供应厂商会选择将server的部份或全部放
      在作业系统核心(kernel)。
Client是使用系统视窗功能的一些应用程式。把X下的应用程式称作
"client",原因是因为它是server的 "顾客" :它要求server应它的需求
完成特定的动作。

Client无法直接影响视窗或显示,它们只能送一个 "需求" (request) 给
server,让server来完成它们的需求。典型的 "需求" 通常是: "在 XYZ视窗
中写一列 'Hello, world' 的字串" ,或 "在 CDE视窗中用这种颜色从 A点到
B点画一条直线" 。

    当然,对视窗操作提 "需求" 只是client程式的一部份,其它的部份是那
些让使用者执行的程式部份。例如:编辑文字、画一个系统的工程图、执行计
算表的计算等等。一般来说,client程式的这个部份和视窗是独立的,对於视
窗几乎不需要知道什麽,通常 (特别是指大型的标准绘图套装软体,统计套装
软体等) 应用程式对许多的输出装置具有输出的能力。在X视窗上的显示只是
client程式许多输出格式中的一种,所以,client程式中和X相关的部份在整
个程式中,只占了非常小的一部份。

    使用者可由不同的来源来使用client程式:一些是由系统提供的 (例如时
钟) ,一些来自於第三集团,一些是使用者为了特殊应用而撰写他自己的client
程式。

X的第三个元素为通讯通道,client藉著它送 "需求" 给server,而server
藉著它回送状态 (status) 及一些其它的资讯 (information)。

    只要 client 和 server 都知道如何使用通道,通道的本身并不是很重要
,在系统或网路上支援通讯型态的需求是内建於系统基本的X视窗函数馆(library)
,所有和通讯型态有关的事都从函数馆独立出来,client和server之间的通讯
只要藉著使用这函数馆(在标准X版为xlib)即可,如图2-2 。

            ┌—————————————┐
            │   p17       fig 2.2      │
            │                          │
            │  图 2-2  xlib函数馆的功能│
            └—————————————┘

    总结来说,只要client程式利用函数馆,自然有能力用到所有可用的通讯
方法。

    Client和Server通讯大略分为两类,相对应於二种基本X系统的操作模式:

    1.  server和client在同一部电脑执行,则它们彼此均可使用机器上任何
        可用的方法做交互处理通讯(inter-process communication
(简称IPC)),             见图2-3
,在这种模式下,X可以像许多传统的视窗系统一样有效率
        的操作。

            ┌—————————————┐
            │   p18       fig 2.3      │
            │                          │
            │  图 2-3  在相同机器上的  │
            │          client和server  │
            └—————————————┘

    2.  client在一部机器上执行,显示器和server则在另一部机器上,则
        client和server的通讯必需透过网路利用彼此同意的协定(protocol)
        方可。目前,最常见的协定为TCP/IP和DECnet,但其它任何被提供的
        可信赖地协定亦可使用。图2-4 显示一个典型的Ethernet网路的通讯。

            ┌—————————————┐
            │   p18       fig 2.4      │
            │                          │
            │  图 2-4  在不同机器上的  │
            │          client和server  │
            └—————————————┘

        这种透过网路,使得应用程式的操作,如同在本地机器一样的能力称
        为网路透通性(network transparence),几乎是X独一无二的特性
        (注1)。这种特性使得它非常适合建立在有弹性地多目标混合机器
        网路上。

注1:有几种例如Sun Microsystems  的NEWS的视窗系统有使用到网路结构,
但没有一种被广泛地使用,而有超过一家以上的制造厂商使用它们。

    因为client和server完全独立,一种名之为X-terminal 的新型态显示器
被发展出来。简单的说,X-terminal 是一种除了能直接在上面执行X server
程式外,什麽也没有的工作站,它有键盘,滑鼠和萤幕,以及一些和网路互相
通讯的方法(所以在其它主机上的client可在它上面显示),但并没有档案系
统,也不提供一般目的 (general purpose)的程式,一般目的的程式需要在网
路上执行。

kde或是gnome只是建立在X上的client端而已,负责把用户与X server之间的
交互罢了
回复

使用道具 举报

 楼主| 发表于 2004-10-4 12:18:31 | 显示全部楼层
多谢了!
回复

使用道具 举报

发表于 2004-10-4 23:33:11 | 显示全部楼层
那么,qt, gtk又是和他们什么关系呢
不是说kde是建立在qt的基础上?gnome是建立在gtk的基础上的?

另外,现在的xfree86和xorg又是个什么关系呢?
回复

使用道具 举报

发表于 2004-10-5 09:34:51 | 显示全部楼层
qt和gtk没什么关系,两个不同的库而已
kde是建立在qt的基础上?gnome是建立在gtk的基础上

对的,kde基于qt,而gnome基于gtk,gtk---》GimpToolsKit

xfree86和xorg又是个什么关系呢

xorg是最新版的xfree
回复

使用道具 举报

发表于 2004-10-5 10:02:59 | 显示全部楼层

Re: Xf86config与KDE、CDE......

[quote:dcb3986a42="694745"]有个概念没搞清楚,请问斑竹...Xf86config与KDE、CDE、Gnome是什么关系啊?能把Xf86config看成,类似Windws动态连接库的东东么?   [/quote]
楼主要问的是 XFree86 还是 “xf86config”这个程序 ? 建议修改。

[quote:dcb3986a42="linky_fan"]xorg是最新版的xfree[/quote]
    
Xorg-X11 是 XFree86 项目在更改版权协议之前的分支出来的项目。XFree86 决定将它的版权更换成非 GPL 的,于是才有了 X.org 计划(http://www.x.org)。
X.org 计划是建立和维护免费并可散布的 X11 开放源代码系统。它是一个开放的 X11-基础的桌面架构。
回复

使用道具 举报

发表于 2004-10-5 10:09:58 | 显示全部楼层
Xorg-X11 是 XFree86 项目在更改版权协议之前的分支出来的项目。XFree86 决定将它的版权更换成非 GPL 的,于是才有了 X.org 计划(http://www.x.org)。
X.org 计划是建立和维护免费并可散布的 X11 开放源代码系统。它是一个开放的 X11-基础的桌面架构。

哎呀,说得简单些嘛,君不见大家都喜欢用新东西嘛,没人会否认xorg比xfree新一点点吧
回复

使用道具 举报

发表于 2004-10-5 10:28:18 | 显示全部楼层
XFree 4.4 和 Xorg-X11 6.8.0 哪个新?怎么比呀
你给初学者就灌输混淆的概念,以后想纠正可就困难啦
回复

使用道具 举报

发表于 2004-10-5 11:19:16 | 显示全部楼层
不过觉得今后转向xorg是大势所趋滴
回复

使用道具 举报

发表于 2004-10-7 23:36:56 | 显示全部楼层
X.org 发布x11时还是1988年,后来看到xfree86觉得xfree86是比x.org后很多的组织。请看以下:
1984: X Window System development begins at MIT

1986: First commercial release of X (Version 10)

1988: The MIT X Consortium is formed

PRE-1991: X386.1.1 is released by Roell, but is not part of official X distribution

1990-1991: Roell works for Dell Unix team

1991: Roell joins SGCS, which later evolves into Xi Graphics

AUG 29, 1991: X386.1.2 is released with X11R5

MAY 7, 1992: X386 1.2E 0.0 is the first pre-XFree86 code by eventual team members

AUG 31, 1992: Last X386 tag, name change to XFree86

SEPT 2, 1992: XFree86 1.0m, first XFree86 tag

LATE 1993: XFree86 team begins in earnest to organize, seeking X Consortium access and membership

JAN 1994: The XFree86 Project joins the X Consortium

APR 26, 1994: XFree86 3.0 is the first release to work with X11R6

MAY 16, 1994: X11R6 is released

MAY 27, 1994: After long delay, XFree86 Project articles of incorporation become official

SEP 29, 1994: XFree86 version 3.1 is released

JULY 1, 1996: The Open Group assumes stewardship of X

OCT 26, 1996: XFree86 version 3.2 is released

LATE 1996: Metro Link donates loader technology to XFree86

APR 17, 1997: Work on new architecture begins with 3.9a

MAR 1998: Precision Insight is formed

MAR 31, 1998: The Open Group releases X11R6.4 under restrictive licensing

AUG 1998: DRI High Level Design is started

SEP 1998: The Open Group rescinds restrictive licensing for X11R6.4

OCT 5, 1998: XFree86 3.9Nh is merged with X11R6.4

DEC 1998: DRI Low Level Design is started

JAN 1999: Initial DRI implementation begins

FEB 1, 1999: MESA 3.1 to be released under XFree86/ BSD/MIT style license

FEB 16, 1999: SGI releases GLX to open source

MAY 12, 1999: DRI Low Level Design documents are available

MAY 12, 1999: The Open Group forms X.org and assigns it stewardship of X

JUN 1999: DRI 1.0 implementation is released

NOV 1999: XFree86 Project is made Honorary Member of X.org

MAR 8, 2000: XFree86 version 4.0 is released

MID-2000: SGI donates GLX and font technologies to XFree86

OCT 27, 2000: X Render Extension shows up in XFree86 4.0.1d

JUN 2001: XFree86 4.1 released

大家可以看到,1994年: The XFree86 Project 正式加入了 X Consortium,而直到1999年11月xfree86才成为了x.org的荣誉会员。可以说从88年开始,到2002年,xfree86都要比xorg更加开源,而xorg在这段时间内,推出,然后又废除了严格的license。不过到了最近事情才突然转变了,老头子突然变成了开源的新人,而xfree86却又不怎么gnu乐。xfree86里面反对改变协议的人,到了xorg,而恰逢xorg的东家们IBM,hp什么的正在搭开源的台子,唱大戏。xorg反倒变成很gnu的了。

这段有趣的历史,值得研究研究
回复

使用道具 举报

发表于 2004-10-7 23:39:28 | 显示全部楼层
至于qt和gtk我可不可以认为,他们都是基于x的库,打个不恰当的比喻,就好像MFC是基于windosAPI的一样?
回复

使用道具 举报

发表于 2004-10-8 23:05:18 | 显示全部楼层
[quote:acf3063d0e="faif"]X.org 发布x11时还是1988年,后来看到xfree86觉得xfree86是比x.org后很多的组织。请看以下:
1984: X Window System development begins at MIT

1986: First commercial release of X (Version 10)

1988: The MIT X Consortium is formed

PRE-1991: X386.1.1 is released by Roell, but is not part of official X distribution

1990-1991: Roell works for Dell Unix team

1991: Roell joins SGCS, which later evolves into Xi Graphics

AUG 29, 1991: X386.1.2 is released with X11R5

MAY 7, 1992: X386 1.2E 0.0 is the first pre-XFree86 code by eventual team members

AUG 31, 1992: Last X386 tag, name change to XFree86

SEPT 2, 1992: XFree86 1.0m, first XFree86 tag

LATE 1993: XFree86 team begins in earnest to organize, seeking X Consortium access and membership

JAN 1994: The XFree86 Project joins the X Consortium

APR 26, 1994: XFree86 3.0 is the first release to work with X11R6

MAY 16, 1994: X11R6 is released

MAY 27, 1994: After long delay, XFree86 Project articles of incorporation become official

SEP 29, 1994: XFree86 version 3.1 is released

JULY 1, 1996: The Open Group assumes stewardship of X

OCT 26, 1996: XFree86 version 3.2 is released

LATE 1996: Metro Link donates loader technology to XFree86

APR 17, 1997: Work on new architecture begins with 3.9a

MAR 1998: Precision Insight is formed

MAR 31, 1998: The Open Group releases X11R6.4 under restrictive licensing

AUG 1998: DRI High Level Design is started

SEP 1998: The Open Group rescinds restrictive licensing for X11R6.4

OCT 5, 1998: XFree86 3.9Nh is merged with X11R6.4

DEC 1998: DRI Low Level Design is started

JAN 1999: Initial DRI implementation begins

FEB 1, 1999: MESA 3.1 to be released under XFree86/ BSD/MIT style license

FEB 16, 1999: SGI releases GLX to open source

MAY 12, 1999: DRI Low Level Design documents are available

MAY 12, 1999: The Open Group forms X.org and assigns it stewardship of X

JUN 1999: DRI 1.0 implementation is released

NOV 1999: XFree86 Project is made Honorary Member of X.org

MAR 8, 2000: XFree86 version 4.0 is released

MID-2000: SGI donates GLX and font technologies to XFree86

OCT 27, 2000: X Render Extension shows up in XFree86 4.0.1d

JUN 2001: XFree86 4.1 released

大家可以看到,1994年: The XFree86 Project 正式加入了 X Consortium,而直到1999年11月xfree86才成为了x.org的荣誉会员。可以说从88年开始,到2002年,xfree86都要比xorg更加开源,而xorg在这段时间内,推出,然后又废除了严格的license。不过到了最近事情才突然转变了,老头子突然变成了开源的新人,而xfree86却又不怎么gnu乐。xfree86里面反对改变协议的人,到了xorg,而恰逢xorg的东家们IBM,hp什么的正在搭开源的台子,唱大戏。xorg反倒变成很gnu的了。

这段有趣的历史,值得研究研究[/quote]
good
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-10-5 08:38 , Processed in 0.080015 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表