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 等等眾多電子郵件客戶機而需要實現的數頁腳本。