对 X, GUI 更详细的解释

今天我从Linux Gazette上看到了你的邮件,我决定试着回答你的问题。

是这样的:

X-Windows 被设计成为一种客户端--服务器(client-server)的系统。这样做的优点是你可以把服务器运行于和你的显示器所在的机器不同的另一台机器上。你需要一个client。这可能是一个程序或一个窗口管理器。窗口管理器通过要求服务器创建窗口来和它通讯。当服务器接到要求,就会给出一个标题条,然后让应用程序创建它自己的界面。从根本上说,窗口管理器是介于服务器和应用程序之间的,但是它不是必须的。你可以没有窗口管理器而直接在服务器上运行一个应用程序,但是你唯一能做的事就是运行这个指定的应用程序、关闭它,和关闭X服务器(即,不能移动它、改变窗口大小等)。

GUI 是指图形用户界面,意思是所有呈现在屏幕上的信息都使用窗口、菜单、按钮等来表示,就象是Windows。所有的都是交互的,界面是建立在这些窗口和按钮之上的。GUI主要的目的是提供一个统一的系统来表现窗口和收集信息。一个不错的例子是MS Windows中的Alt+F4这个快捷键,使用这个键,你可以关闭任何在屏幕上的窗口。一个窗口管理器可能是这个系统的一部分。在KDE和CDE中都是这样。它们共同的特点就是它们拥有自己的窗口管理器,你可以在桌面上得到统一的形式。从根本上说,在桌面上看到的是那些可以运行在某个系统上的应用程序的集合。一个统一的图形用户界面可以有象拖放(drag&Drop)和指点(point&shoot) 及把应用程序和某个文件类型关联起来这样的特点。你问的关于基于GNOME或KDE的问题是这样:一个程序被设计成它是哪个环境下的,那么它就可以和这个环境下的其他应用程序互相通讯。拖放就是个例子。某些程序没有为它们设计的桌面环境确实不能运行,但是有些就可以。举个例子,我使用KDE程序,但是我不喜欢他们的窗口管理器, 因此我使用Window Maker,而Window Maker不是为KDE环境设计的,因此我就不得不损失一些功能不能使用。

这两个库:GTK+ 和Qt(你提到的Troll)是工具包。它们基本的用途是画窗口、按钮和菜单。 这些会帮你构造你的界面。如果你象运行一个为某个特殊环境设计的应用程序,比如说GNOME, 你至少需要GNOME的库,象GTK+和其他什么。

正象我前面提到的,X-Windows系统的client-server的设计使用户可以更灵活的选择他们喜欢的窗口管理器。但是基本上,他们象 win95/98系统做的一样。Win95/98 限制你于一个风格和一样的操作感(look and feel) (虽然你可以改变背景的颜色,但是那还是它),但它并没有给用户尝试其他风格和操作感的自由。很多流行的窗口管理器都允许你定义其他的按键组合。如果你不喜欢GNOME,你可以使用KDE,反之亦然。(还有其他几种)

所有我知道的关于CDE的知识就是它是基于Motif工具包的(不同于GTK+和Qt)这个工具包不象GTK+那样是free的(更恰当的说不是GPL 的)。我想这可能是它在Linux上用的不是很多的主要原因。但是它是否很耗系统资源我就不知道了。我个人不使用它的原因是因为它看上去很傻 :-)

好了,就这些,我希望这些东西会对你有些用处。如果你有问题,别犹豫…………  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值