上次说过 Portland 概况 ,不能就这么不了了之。Bettering the Linux desktop — Portland progress 。
六个月前,二十多个面向桌面的 Linux 项目的 architect 们在 Portland 碰头,促成了 Portland Project。
去年 12 月会议是 OSDL 的 Desktop Linux Working Group 赞助的,会上最大的成就恐怕是,所有与会开发者发现,他们原来有如此多的共同之处。OSDL Linux 桌面的 Initiative manager,John Cherry,说人们开始认识到“我们不能像一帮散兵游勇,各自为政,合作努力才能确保 Linux 桌面的成功”。另外,开发者也意识到,通过协同工作,他们能用一致的声音同硬件 vender 对话,这对改善 Linux 设备驱动的情况亦有帮助,以前为了 API 和 ABI 头疼是常有的事。
Portland 会提供一组 Linux 桌面接口,应用程序可以方便地和最终用户选择的桌面集成。也就是应用中性,在保证用户选择桌面的灵活度时,不用牺牲应用层面的特性。插一句,哲学上让我想起 Apple 转到 Intel 之后的 Universal Binary,不论在 PowerPC Mac 还是 IA Mac,都保证 native 代码唰唰地跑起来。不论用户会选用 KDE 还是 GNOME,应用开发者可以少操心了,用户也不用担心会出问题。把苦难留给自己,把选择的自由和不必牺牲什么的保证留给用户,谓之君子也。
目前有个4人小组已经成立,专门来保证项目进度,另外还有来自 GNOME 的 Alex Graveley 和 KDE 的 George Staikos,共同领到这个小组。他们的工作是划分工作优先级,和独立软件供应商沟通,鉴别 GNOME 和 KDE 中已有的可以被放入 Portland 的功能。
家伙们的目标是争取把第一个版本的 Portland 放入 LSB 4.0--2006年底发布。
去年12月会议, Bryce Harrington 的 Infinite Knots blog entry 。那次可是个真正的盛会,有 X.org, KDE, GNOME, Mozilla, OpenOffice, freedesktop.org,还有 6 个发行版公司/社区,一些ISV,最终用户,应用,内核开发者等等。预计的 40~50 人的会议,到了 70 多人,来自 30 多个项目。这个本来来自 KDE 和 GNOME 的家伙们都以为会变成 KDE vs. GNOME 大会的大会,取得了出乎意料的喜剧效果 ;-)
Dan Kegel 的 meeting notes 。
这个月 8,9 号两天,在德国 Mainz,更多的头头脑脑们聚首,检查了进度,讨论了前景--好一派“面朝大海,春暖花开”的朝气景象……
会上,Intel 的 Linux client architect,Waldo Bastian 做了个报告,列出了开发者们觉得最终要的需要改进的地方:
-提高发行版之间的二进制兼容性
-提高两个主要的桌面环境(GNOME, KDE)之间的兼容性
-让第三方开发者更容易地为不同发行版打包软件
-文档,文档,文档
Bastian 还提到,现在有种倾向,认为开发者必须在 GNOME 和 KDE 之间选择,可是实际上,95% 的功能都和 window manager 以及桌面环境无关。只要 Portland 搞定剩余的 5%,那就…大同世界咯。
另一个重要地方是,把开发用 toolkit 和运行时环境剥离。也就是,用户不需要运行 KDE 才能使用 KDE 程序,也不需要运行 GNOME 来执行 GNOME 应用。Portland 提供的high level 桌面集成 API 就是完成这活儿的。在 KDE 上运行 Evolution 应该没问题的。
除此之外,Portland 的另一个目标是 xdg-utils 。用在已经部署了的发行版之上,这是一组通用脚本,为任何 Linux 桌面提供最低级别的兼容性。包括:
-安装:xdg-menu:命令行工具,安装/卸载 桌面按钮; xdg-desktop:命令行工具,安装/卸载 桌面图标。其他的还有xdg-email ,xdg-mime ,xdg-su ,xdg-open ,xdg-copy ,xdg-file-dialog 等。这些脚本不依赖 KDE 和 GNOME,而且也可以用在所谓的 第二层 Linux 桌面上,比如 XFCE 和 Blackbox。
继续深入挖掘,Desktop API 可能要求上游桌面项目作出改变。
DAPI 由一个守护进程和库组成。应用需要和桌面交互的时候,call 库,后者走 IPC 向守护进程发出调用请求,守护进程再和桌面交互。通过库中的 wrapper 和 守护进程,应用可以不用关心桌面是什么。目前和守护进程交互的 IPC 还是个自定义的东东,或许哪一天会转到 DBUS 上。
今年夏天,Portland 可能会进入实战,首先出现在 Fedora,OpenSUSE 和 Ubuntu。随着 Linux 桌面在 infrastructure 上的不断改进,理想的,和 Windows 一样容易使用,容易为之开发软件的 Linux 桌面,就能一步步逼近现实。
[tags]portland, linux, gnome, kde, desktop, osdl[/tags]