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 等等众多电子邮件客户机而需要实现的数页脚本。