Username: Password:

使用Portland改善Linux桌面移植性
来源:IT实验室作者:IT实验室 发布时间:2008-04-07 02:55:21

级别: 中级

Cameron Laird, 副总裁, Phaseit Inc.

2007 年 3 月 06 日

    Portland 是个新的开源项目,他承诺要帮助 Linux® 应用程式在多种桌面环境中运行,包括 Gnome 和 KDE,从而简化 Linux® 应用程式的部署和商业化。虽然该技术仍很年轻,但现在已能够使用 Portland 了,并且他看上去正在不断快速改进。现在开始使用 Portland 1.0 中的 XdgUtils 工具集。

    在构建桌面 Linux 应用程式的研发计划时,可能需要适当考虑到底针对哪个桌面 环境(DE)进行研发。Gnome 还是 KDE?当然可能更有其他的桌面。

    但是假如只考虑一种桌面环境,那么应用程式的销售可能不会长久,以 Portland 项目 为例。

Portland 项目

    首先介绍一些背景知识。Portland 项目是为了解决一些恼人的问题,这些问题将在软件研发人员编写易于移植到任何 Linux 发行包中打包的各种桌面环境(DE)时制造麻烦。具体来说,Portland 的目标是提供一套研发人员可编写的通用 API,从而使应用程式无需考虑桌面环境。

    该项目第一个也是现在实现的阶段 Portland 1.0,名为 XdgUtils,他是一些实用程式的捆绑,应用程式能够用他在现有的桌面环境上运行。第二个阶段 Portland 2.0 的计划包含基于 D-Bus 接口的面向服务的进程间通信机制。

    虽然 XFCE、GNUStep 和 MacOS X 也在未来的考虑之中,但 Portland 现在只支持 KDE 和 Gnome。

    在本文中,将开始使用 Portland 的 XdgUtils 部分,还将了解 Portland 的设计怎样反映其更广泛的目标。

    请看清单 1,他显示了 xdg-email 实用程式的用法:


清单 1. xdg-email 的示例用法
# This invocation is valid for all desktop# environments and any e-mail client a user# may prefer.xdg-email --cc $COLLEAGUE --bcc $SELF \   --subject "Problem report" \   --body "This is a semi-automated fault report.  You          can edit this e-mail before sending it.          Note that the problem log is automatically          attached." \   --attach $LOG errors@$OUR_HOME

    看到其中发生的变化了吗?这一个命令就替代了为适应诸如 Firefox、elm、/bin/mail、Opera 等等众多电子邮件客户机而需要实现的数页脚本。

    为了更容易理解和全面应用这类命令,这里介绍一些背景:桌面环境包含 窗口管理器、图标、工具栏、应用程式、墙纸、功能(包括拖放)和构成桌面电脑用户实时体验的独特外观和感受。常见的桌面环境有 Gnome、KDE、XPde、ALDE、Xfce 及其他。您希望您的程式在自己和客户或同事使用的桌面环境上看起来很 “自然”,而且运作良好:剪切和粘贴应当立即发生,颜色调色板不会损坏客户的屏幕,应用程式的正确安装应当显示在桌面应用程式选择菜单中合理的位置。

    一直到最近,实现这些目标的可靠方式还是使用和熟悉特定桌面环境的规范 —— 例如 KDE —— 然后请教专家或重新学习每一种其他桌面环境需要的规范。在这个级别上,重点很少是实现特别的功能或用复杂的方式移植应用程式;原则上讲,正确安装的 Linux 应用程式应该能用任何桌面环境的窗口管理器显示。只有安装中更精细的细则,包括必要的库的位置连同一些较小的图像修饰,才会区分不同的桌面环境。

    但是,假如不只是为自己和少数程式员研发应用程式,而是要研发广泛发行的商业产品,那么正确了解这些细节是必需的。请注意,我没有研究最终用户将看到的生动的显示效果:Portland 并不解决 GUI 主题的 “花俏”,或阴影效果又或虚拟文档系统创新。Portland 只是帮助研发人员的代码在进行安装和部署自动 化时,呈现更合理的界面。

    清单 1 显示了一个典型的现实示例,给出了一个最终用户能够在其所选的电子邮件客户机中编写的电子邮件消息。Portland 定义了 xdg-email 命令,他管理这类任务中包含的任何常见套路。调用这样的命令行会启动用户的电子邮件客户机,填充他的元素(例如列表、附件等),并把控制权转移给最终用户。应用程式需要这种帮助吗?假如需要,那么 Portland 正是为您准备的。

 

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅