GNOME面板小程序执行问题

时间:2012-03-07 16:24:47

标签: python gnome gnome-3

我正在用Python开发GNOME 3(带有D-Bus)的GNOME面板小程序。

我遇到问题,当我打开添加到面板对话框时,我的applet出现了,但当我选择它并按添加时,GNOME Panel永远不会启动包含applet代码的可执行脚本(该文件具有执行权限)。当我手动执行脚本时,添加的小程序工作正常。

我目前在/usr/share/gnome-panel/4.0/applets中安装了panel-applet文件,在/usr/share/dbus-1/services中安装了DBus服务文件。

如果有帮助,这些文件如下:

/usr/share/gnome-panel/4.0/applets/org.gnome.panel.applet.DynamicSeparatorApplet.panel-applet

[Applet Factory]
Id=DynamicSeparatorAppletFactory
Name=Dynamic Separator Applet Factory
Location=/usr/lib/dynamic-separator-applet/dynamic-separator-applet
Description=Dynamic Separator Applet Factory

[DynamicSeparatorApplet]
Name=Dynamic Separator
Name[es]=Separador Dinámico
Description=Create a separator with configurable size
Description[es]=Crea un separador con tamaño configurable
Icon=dynamic-separator-applet
BonoboId=OAFIID:GNOME_DynamicSeparatorApplet

/usr/share/dbus-1/services/org.gnome.panel.applet.DynamicSeparatorAppletFactory.service

[D-BUS Service]
Names=org.gnome.panel.applet.DynamicSeparatorAppletFactory
Exec=/usr/lib/dynamic-separator-applet/dynamic-separator-applet

有人有建议吗?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

在D-Bus服务文件中,我有Names密钥,应该是Name,因此,正确的服务文件应为:

[D-BUS Service]
Name=org.gnome.panel.applet.DynamicSeparatorAppletFactory
Exec=/usr/lib/dynamic-separator-applet/dynamic-separator-applet