有一个教程http://wiki.mate-desktop.org/matecorba_to_dbus#d-bus_service_file其中说明了如何创建 DBus 配置文件。
但我不明白,为什么需要它。该服务是在小程序启动期间由小程序本身注册的。小程序的启动在另一个配置中描述(在mate-panel的配置中)。
那么,DBus何时独立于mate-panel启动小程序呢?
答案1
如果这仍然是一个问题:AFAIK DBUS 用于制作或启动小程序,当用户右键单击配合面板时,选择“添加到面板...”,然后将小程序添加到面板。
你可以看看 https://github.com/mate-desktop/mate-university 如果你想做一个小程序。我将尝试更新它。
编辑:好的,让我尽量准确一点。 - 虽然我是新手。
为什么需要 DBus 配置文件?
如果您安装小程序,配置文件将被复制到 /usr/share/dbus-1/services 中 - 至少我是这么认为的。这将为小程序启动 DBus 服务。
Mate-panel 获得工厂服务的所有权:
mate-panel-applet-factory.c mate_panel_applet_factory_register_service() 调用
g_bus_own_name()。
因此,“该服务是在小程序启动期间由小程序本身注册的”这一说法对我来说似乎有点错误。并不是小程序注册服务,它只是指向它。
如果我删除该服务并重新启动面板,我可以添加小程序,但什么也没有发生。
该服务执行小程序。
该服务可能是从 panel-addto.c 调用的,但我找不到确切的位置。
DBus什么时候独立于mate-panel启动小程序?
可能永远不会。我怀疑DBus只是一个接口,通过它mate-panel可以解析所有applet工厂的列表,然后在需要时调用它们。
请注意,我对 mate-panel 代码非常陌生,所以我无法真正解释为什么 3 年前有人写了一些东西。
这也是不相关的。如果有人想写一个小程序,我想我可以帮忙,否则请直接写信给原始开发人员或浏览代码,就像我过去一个小时所做的那样......