1

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

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

我目前已经将面板小程序文件/usr/share/gnome-panel/4.0/applets和 DBus 服务文件安装在/usr/share/dbus-1/services.

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

/usr/share/gnome-panel/4.0/applet/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

有人有建议吗?

4

1 回答 1

1

我找到了解决方案。

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

[D-BUS Service]
Name=org.gnome.panel.applet.DynamicSeparatorAppletFactory
Exec=/usr/lib/dynamic-separator-applet/dynamic-separator-applet
于 2012-05-15T11:44:12.270 回答