我正在用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
有人有建议吗?
答案 0 :(得分:1)
我找到了解决方案。
在D-Bus服务文件中,我有Names
密钥,应该是Name
,因此,正确的服务文件应为:
[D-BUS Service]
Name=org.gnome.panel.applet.DynamicSeparatorAppletFactory
Exec=/usr/lib/dynamic-separator-applet/dynamic-separator-applet