X因素:苹果推出新版X11窗口环境
当苹果推出其 OS X 开发工作时,它大肆宣传新操作系统的 UNIX 基础。但对于使用该操作系统的 UNIX 用户来说,某些组件缺失或不完整。例如,它缺乏包管理。因此,Fink 开发团队移植了 Debian 的 dpkg 和 apt-get;X on X 实现了 X 窗口系统;XFree86 项目提供了适用于 Darwin(苹果 OS X 的开源 BSD 派生基础代码)的 X11 二进制文件。但 X11 仍然不是 OS X 的强项。
苹果公司在本周二悄然宣布了适用于 Mac OS X 的 X11,这是它自己新的 XFree86 开源实现。尽管史蒂夫·乔布斯没有在他的主题演讲中宣布(新闻稿承担了这个任务),但 Macworld 的苹果工程师告诉我,新的 X11 仍然是一件大事:“这是我们有很多需要追赶的领域。”
苹果公司称新版本为“一个完整的、无根的 X11R6.6 实现,以及显示服务器和客户端库——加上 SDK 中的头文件”。新的实现支持 SSH 隧道,并与其他使用苹果 Aqua 用户界面的应用程序并发且无缝地运行。内容可以在 X 和 Aqua 窗口之间剪切、复制和粘贴。它还利用了苹果的 Quartz 图形系统。
虽然此举的明显目的是使苹果与其他 UNIX 系统达到相同的水平,但更重要的目的是允许更容易地将 X 应用程序移植到 OS X。
当我与苹果公司软件工程高级副总裁 Avie Tevanian 交谈时,他对该项目充满热情:“大多数人会喜欢这样一个事实,即作为开源开发者,他们有机会采用我们所做的工作,对其进行调整、修改、清理,等等。而且他们现在有渠道将其发布给数百万人。当然,我们也希望他们将其应用程序移植到Cocoa”(苹果的 OS X 应用程序开发环境)。
Tevanian 说,与公司在 Java、GCC 和浏览器方面所做的努力一样,他希望这个版本的 X11 成为同类产品中最好的,并认为已经实现了这一目标。他说:“我们发布的版本,我们认为它是最好的。”
James Davidson(使用 Objective C 学习 Cocoa 的作者以及 Apache Ant 和 Apache Tomcat 的原始作者)说,“他们必须重复他们在 GCC 上所做的事情。在 NeXTStep 时代,他们截取了 GCC 的快照并进行了分叉。现在他们试图避免重复重新集成一切的经验,从一开始就以正确的方式做事。”
适用于 OS X 的 X11 可从 OpenDarwin.org 以及苹果自己的 Darwin 站点获得。其他 X11 工具包(OpenMotif、GTK 等)也可从 OpenDarwin.org 获得。
Doc Searls 是 Linux Journal 的高级编辑。
电子邮件:doc@ssc.com