x-window的几个概念

1.术语GUI,window manager,desktop,和interface间的区别(如果有的话),它们和X window有什么关系?

  X windows是一种把东西画在你的屏幕上的办法。所有的X windows 客户端(画在你面前的部分)都知道如何响应某些命令,例如"画一个绿框","画一个点"为客户图象分配内存...... 这不象你想象的Windows那样。 所有的应用程序把这些命令发送到你的客户端。这是通过tcp/ip,实现的,即使你的应用程序和客户端在同一台机器上也是这样。这点非常重要。在MS Windows里首要的设计缺陷就是在窗口系统里缺少网络层。每个 X应用程序(任何窗口......xterm netscape xclock)查看"DISPLAY"这个环境变量来找出它应该让谁画出它自己。 如果你的DISPLAY被设置成 computer1:0.0 而你在computer2上,当你键入'xterm'是它将会在computer1的屏幕上弹出来。(如果你的权限许可的话)。这就是为什么在我工作的计算机上,我可以从HP的,RS6000的和SUN的Linux上开窗口过来。它们可以在一起工作的很好。

  2.所有的窗口管理器(象GNOME或KDE或FVWM95)都运行在X windows之上吗?

  是的。根据上面说的,你现在应该知道,X是绘制的那个东西。任何需要画出的东西都要运行在X上。

  但是,我们需要把窗口管理器弄的更清楚一些,因为我还没有告诉你这个。在MS Windows里, 当一个程序挂起的时候,它会占居你的屏幕,直到你关掉它。这时你通常没有办法移动它或最小化它。这是windows 设计上的第二个缺陷。每个MS Windows的程序都有一些代码来处理标题条、关闭、最大化、最小化按钮。 这些代码在一个共享库里,因此你不是必须自己写。但是总有一些在那里。而在X windows里程序根本就不知道 它的标题条,或标题条上的按钮。程序仅仅在它需要的时候告诉X画出它们。另一个程序,窗口管理器来做这件事。 (它管理窗口)窗口管理器负责画出这些标题条和上面的按钮。当你最小化一个窗口或用图标代替它的时候, 窗口管理器也负责把这个窗口隐藏起来。程序不能参与这些事。这就意味着即使程序这个挂起了,它仍然是可以 移动的,可以被最小化,可以被关闭。(有时不能被关闭,除非你的窗口管理器被设置发送kill -9)KDE和GNOME不是窗口管理器。它们不画标题条、让你可以改变窗口大小或其他的什么。 他们只是一个程序,提供按钮条(有些窗口管理器也做这个)和其他元素,告诉程序它们看上去是怎样的。

  3.说一个应用软件是基于GNOME或KDE的到底是什么意思呢?如果它不是,那会怎样?你仍然可以运行它吗?

  基于GNOME的应用程序做象我刚才提到的那些事请。当GNOME告诉他们看上去什么样子和他们的行为的时候, 它们会注意GNOME。如果GNOME说"你的背景应该是红的",它们就做个红背景。另外也有一些高级的功能。 比如当一个程序问GNOME是不是可以有一个拼写检查器时,GNOME可以提供它一个(看CORBA)。

  4.GTK+(for GNOME)或Troll(for KDE)到底是什么?

  这是一个叫做widget的隐藏的层。它允许你说"画一个按钮"而不是说"画一个方框,再给方框的四边画上看起来3维突起的边, 把这段文字放在框里,切顶这个框能够察觉鼠标点击,如果发生了点击,要赶紧去掉3维突起的框,然后再迅速把 它画上"。不使用widget集而直接写程序做这个复杂的东西可不是什么好主意。

  5.Linux(或UNIX)窗口管理器的历史和Windows98/95的用户使用的桌面相比怎 么样?特别是,如何评价微软通过给定用户仅仅一种桌面来限制他们的选择,这种桌面据信是一种为方便用户使用而设计的。

  我想你可以从其他的回答中得到这个的答案。真正的限制时:

  1.你不得不在你想看到这个程序的同一台机器上运行它。

  2.如果你不喜欢windows的工作方式,你不能选择另外一个窗口管理器。

  3.不论怎样设置windows,如果仅有一个你需要的东西没有被做进去,那也是没有办 法。而使用X,你可以使用不同的窗口管理器,桌面,widget集,无论什么。

  6. 通用桌面环境(CDE)怎么样了?它是因为太消耗系统资源或是未开放源码而没有被Linux用户广泛采用吗?

  CDE是为大的Unix厂商自己使用的而设计的。它需要重新设计而满足每个人的需要,因此就有GNOME和KDE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值