Xlib 函数库

2009-05-13 02:03:28来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Xlib 函式库:


作者: 谢东翰


A.      简介:

X Window 系统是 UNIX 世界中标准的图形操作接口,它是在 1984 年由麻省理工资讯科学系与迪吉多公司合作开发的一个项目计划,其目是要发展一个兼具可移植性与网络通透性的窗口系统。该项目计划首度发表的是第十版的窗口系统 (X10),到了1987 年发表了第十一版 (X11),历经多年的开发演进,到了 1994 年发表了 X11R6,也就是目前 UNIX 系统上通行的版本。而原本负责此项目计划的成员,也在 1996 底组成了一个称为 X Consortium 的组织,持续 X11R6 的开发与维护,而其最新的改进版是去年才问世的 X11R6.5。

由于 X Window 项目计划的出现,使得各 UNIX 厂商与软件开发组织可以以 X Consortium所发展的程序代码为蓝本,在他们的系统上建立图形化窗口环境。为了达到完整的可移植性与网络通透性,各厂商与软件开发组织所实作出来的 X Window 版本都遵守相同的协议,即 X 协议,同时也采用同样的函式库呼叫接口。因此,只要是 X Window环境下开发出来的程序,原则上都可以不需修改而移植到其它平台的 X Window 环境(只要它的 X Window 版本与原开发环境的版本相同或更早即可) 编译执行。而在 GNU/Linux、FreeBSD 等 x86 平台的自由 UNIX 操作系统中,其 X Window 系统是来自 XFree86 计划,顾名思议,该计划的主要目的是提供一个免费、自由的X Window 系统给 x86 个人计算机上的 UNIX 使用。而原先 GNU/Linux、FreeBSD 等是在 x86 计算机下开发的,但近年来它们已逐渐移植到 DEC Alpha, Sparc .... 等高阶的计算机系统上去,因此 XFree86 也顺应做了移植,可以在那些非 x86 的硬件系统上执行了。该计划也是依照 X Consortium 的标准而开发的,例如这两三年来通行的XFree86-3.3.X 系列,主要就是以 X11R6.3 为蓝本。

但到了近一两年来情况稍有改变,由于 GNU/Linux 平台上的多国语言与 Unicode 支持的需求日益迫切,同时为了顺应近年来新的软应体技术,使得传统的 X11R6 实作方式已渐渐不缚使用。然而 X Consortium 在这些部分的开发脚步却不够快,或甚至仍未起步,故到了 XFree86-4.0.X 系列,除了遵循 X11R6.4 的标准以外,同时更进一步地开发了 Unicode 的支持、TrueType 字型支持、模块化显示卡驱动程序、高速绘图接口、并逐步修正过去 X Consortium 所发表的程序代码中的错误 .... 等。可以这么说,XFree86-4.0.X 系列比起过去的版本有着相当长足的进步。而这些改进,未来也许会逐步出现在 X Consortium 新版的 X11R6 中。

X Window 系统采取的是 Server/Client 的模型而运作。

所谓的 Server 指的是X Server, 它通常掌管一个完整的 Display。根据定义,一个传统的 Display 包含一个显示器、一个键盘、及一个鼠标,或者还有其它选择性的输出入装置,换句话说,它就是一个完整的图型桌面装置。而 Client 指的是在此 Display 中执行的所有X Window 应用程序,它们需要在屏幕上绘图、需要接收鼠标、键盘等输入 .... 等,都必须向 X Server 发出请求,由 X Server 代为完成。而 X Server 与 Client 之间的沟通协议就称之为 X 协议。此 X 协议不仅可用于本机的 Display (亦即 X Server与 Client 都在同一部机器上执行),它更具备了网络的通透性,也就是 X Server 与Client 可以在不同机器上执行,例如将远程的 Client 窗口显示到本地的 X Server上,而本地的使用者在使用时就和操作本机执行的 Client 一样,不会有分别。此网路的通透性正是 X Window 系统最强大的特点之一。由 X Server 掌控的 Display 只是图形接口的底层平台而已,它还不是我们平常所接触到的桌面环境。

我们所用的桌面环境是由「桌面管理程序 (Window Manager)」所提供,它拥有方便的菜单选单、激活应用程序的按扭图标、可以帮我们放漂亮的底图、及管理桌面上所有的窗口 .... 等等的功能,事实上,「桌面管理程序」在 X Server的眼中,也不过是一个 X Client 而已,只是它的功能比较特殊,专门负责管理整个工作桌面。由于 X Window 系统并不将桌面管理程序内建在 X Server 或 Display 中,因而给我们一个弹性: 我们可以依自己的喜好挑选桌面管理程序来用。这类的桌面管理程序可以说形形色色,有功能小巧阳春的 twm 与 fvwm、有长得很像 Windows 95 接口的 fvwm95、有相当眩丽的 enlightment、而有的功能甚至超越了单纯的桌面管理程序,还同时提供了一组链接库与应用程序、管理工具等等,让我们的桌面更加好用,如 KDE或 Gnome 等。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:开始学习UNIX,从FreeBSD开始

下一篇:Gnu的C函数库