问:术语GUI,window manager,desktop和interface间的区别(如果有的话),它们和X window有什么关系?
答:在X的世界里,事物是分成很多组件的,而不象其他的操作系统那样,任何东西都是OS的一个部分。这里是一些定义:
Interface是一个普通术语,意思是指在计算机系统的两个互不依赖的组件间的连结,一个桥。它通常用来指“user interface”(用户界面)就是用户和计算机系统之间联系的部分。
GUI是另一个普通术语。代表graphical user interface,图形用户界面。它就想它听起来那么漂亮;它是一个主要是图形组成的用户界面。Mac OS和Windows都是GUI的,实际上,现在相当多都用于桌上型电脑。
在Mac OS和Windows,构件图形界面的功能都做在了操作系统里面,你只能使用那些。这个方法很简单,但是却不灵活。Unix和类Unix的操作系统没有内建这个功能,要使用GUI你就不得不使用“windowing system”(窗口系统)。X就是其中之一——现在看来是唯一的一个。
X提供的功能是在屏幕上构造方块(窗口),然后画出里面的元素,它并不支持这些功能:
a)移动窗口、改变它们的大小,关闭它们;
b)象按钮菜单这样的标准控件;
c)为设计用户界面、编程的标准,或程序间的交互操作(例如拖拽或标准帮助系统)。
Window manager是个可以方你移动窗口和改变它们大小的程序。它通常也支持把一个窗口缩成一个图标或任务条。通常有某种程序执行机构。用户可以使用window manager来做他想做的——任何X应用程序应该可以在任何窗口管理器上工作。但是你依次进能运行一个。这就是说,你可以切换于任何多个window manager,但是同一时刻你进能运行一个。屏幕上的所有程序都可以被正在运行的window manager管理。
widget集是一个常规的工具库,程序员使用它来构造象按钮和菜单这样的标准控件(X程序员叫它们做widget。一个应用程序使用的wedget集是由程序员来选择的,而不是用户。很多人都安装多种widget集,这样可以同时运行多个程序员使用不同widget set写的程序。
最后,解释一下desktop environment,桌面环境。这是一个最新的也最模糊的X术语。它基本的意思是指“Mac OS和Windows的图形界面有,而X没有却应该有的东西”。通常是一组有着共同外观和操作感的应用程序,和程序库,以及创建新的应用程序的方法。例如,所有的KDE应用程序都所以用相同的widget集(Qt)和帮助程序,你可以在它们之间拖拽。你同时可以安装多个桌面环境,而且你可以在一个桌面环境中运行另一个不同的桌面环境的应用程序,而不用切换到过去(当然你要安装那个桌面才行)。就是说,如果你使用GNOME,但是你喜欢KDE的字处理器KLyX,那么你可以运行KLyX,而不运行任何其他的KDE程序,但是它就不能和你那些GNOME的程序互相交互了。你甚至可以同时运行GNOME和KDE的核心程序,事实上这没有什么意义,你会同时有两个文件管理器,两个面板,等等。
问:所有的窗口管理器(象GNOME、KDE或FVWM95)都运行在X windows之上吗?
答:是的,虽然GNOME和KDE不是窗口管理器(它们是桌面环境)。KDE是和一个叫KWM的窗口管理器一起的。GNOME则没和任何窗口管理器做在一起,你可以使用任何你想用的窗口管理器,虽然有一些是特地为GNOME写的(Enlightenment就是一个)。但是它们都需要X来运行。
问:说一个应用软件是基于GNOME或KDE的到底是什么意思呢?如果它不是,那会怎样?你仍然可以运行它吗?
答:这仅意味这它是使用GNOME或KDE的库写的。意思是:
1)、程序可能不是同时基于GNOME和KDE的;
2)、你不得不安装GNOME的库来运行基于KDE的软件;
3)、你可以并行的运行GNOME的应用程序和KDE的应用程序;
4)、如果你使用任何一个环境,你总是可以运行非基于该环境的应用程序。
问:GTK+(for GNOME)或Troll(for KDE)到底是什么?
答:GTK和Qt(Qt是KDE使用的Troll Tech的产品)都是widget集。也就是说,它们提供了按钮,菜单,滚动条和各种各样的对象给程序开发人员使用。注意,非基于GNOME或KDE的应用程序能够使用GTK+或Qt,但是所有的GNOME程序都使用GTK+,所有的KDE应用程序都使用Qt。
问:Linux(或UNIX)窗口管理器的历史和Windows98/95的用户使用的桌面相比怎么样?特别是,如何评价微软通过给定用户仅仅一种桌面来限制他们的选择,这种桌面据信是一种为方便用户使用而设计的。
答:这是一个很复杂的问题,从本质上来讲,Windows提供了一个由窗口系统、窗口管理器、widget集和桌面环境共同组成的构造集,因此每个人都只能使用它,而不能选择它们喜欢的。
问:通用桌面环境(CDE)怎么样了?它是因为太消耗系统资源或是未开放[url=http://www.pccode.net].net" class="wordstyle"源码而没有被Linux用户广泛采用吗?
答:是的,它占用太多的内存。你可以从RedHat那里得到它。
资料来源:Linux公报中文版翻译:帆