寻找有关如何为Gnome/Ubuntu开发applet的建议

mac*_*mac 5 python linux ubuntu gnome dbus

我是一个linux(主要是ubuntu)用户,对系统的工作原理有一个合理的理解(尽管我当然不是一个Linux大师!).在过去,我已经在python/GTK中开发了小型跨平台桌面应用程序,我将它们作为自包含文件树交付给客户端,因此唯一的依赖项是Python本身和GTK.

现在我想为ubuntu开发一个小applet,我想在GPL 2或3下发布.

特别是这些都是新的步骤,我知道我必须学会为了达到我的目标(这是很可能有几个,我是不知道的,虽然!):

  • 与gnome集成:我希望我的应用程序可以作为任务栏中的applet使用.
  • 使用D-bus:特别是我希望我的applet为ubuntu使用新的osd通知框架,但与其他applet的通信也是第二次迭代的可能功能.
  • 打包:我想在应用程序达到alpha阶段后立即设置公共PPA,但我也想在官方存储库中使用现有包中的依赖项,而不是在我自己的包中再次包含库.

当然官方文档将是我的第一个知识来源,但是 - 根据我在另一个主题上收到的关于SO 的非常有用的答案的判断- 我决定转向SO社区收集其他建议,例如:

  1. 对于我之前概述的那些,是否还有其他步骤,我必须学习才能实现我的项目?
  2. 根据您自己的经验,您是否建议我提前学习这些步骤(因为这些知识会影响我对核心功能的编码方式),或者您是否会考虑与gnome/d-bus和打包集成为"更高的封装级别" "之后可以在核心功能之上添加(注意:D-bus最初只用于推送数据.输入数据将通过web服务检索)?
  3. 您是否建议我将我的应用程序分成两个包(后端和前端)或将它们放在一个包中?
  4. 您是否知道有什么有用的资源可以建议我查看,了解我必须做的任何事情?
  5. 您是否知道我应该注意的任何常见的"初学者错误"?

然而,这些问题并非详尽无遗:如果您觉得我遗漏了一般情况中的某些内容,那么我们非常欢迎您指出正确的方向!

PS:我是否应该在解释我的最终目标时失败,看看项目仓鼠:我想要实现的用户界面类似(意思是:applet应该显示状态并点击它应该打开应用程序本身,您可以从中配置applet并执行各种操作).

mac*_*mac 1

两年前,当我问这个问题时,Ubuntu 和 Gnome 之间的距离比今天要近得多。目前(2011 年底)gnome 采用了 gnome-shell,而 Canonical 决定开发自己的 UI(unity)...

导致分裂的部分紧张局势特别涉及 libappindicator,这使得我提出这个问题的方式(可能还有部分答案)过时了。

此外,现在堆栈交换上有AskUbuntu,这可能是一个更好的论坛来询问 ubuntu 特定的问题。