我很好奇如何爲DBus啓動我自己的服務。 在官方網站上,我發現了很多關於從客戶端角度使用DBus服務的信息,但是如何啓動和開發服務還不夠: 1)應該在哪裏找到接口文件ServiceName.xml 2)哪裏應該是找到服務文件ServiceName.service 3)如何手動啓動服務,而不是啓動系統。DBus如何啓動服務
任何人都可以幫助我或提供一些有用的鏈接嗎?
我很好奇如何爲DBus啓動我自己的服務。 在官方網站上,我發現了很多關於從客戶端角度使用DBus服務的信息,但是如何啓動和開發服務還不夠: 1)應該在哪裏找到接口文件ServiceName.xml 2)哪裏應該是找到服務文件ServiceName.service 3)如何手動啓動服務,而不是啓動系統。DBus如何啓動服務
任何人都可以幫助我或提供一些有用的鏈接嗎?
創建一個由OS的服務管理器(initd,systemd等)啓動的服務。在該程序中使用dbus庫實例化服務器端對象。
通常情況下,您將配置爲在啓動時啓動服務,但使用systemd時,也可以將其配置爲在某物連接到特定套接字或嘗試使用特定設備對象時啓動。它被稱爲「套接字激活」和「dbus激活」(請參閱當前的systemd文檔)。
如果您想手動啓動服務 - 然後執行systemctl disable <service-name>
以禁用引導啓動。手動啓動服務:systemctl start <service-name>
。
* .xml文件不是強制性的。也許看看其他軟件包,看看他們把這些文件放在哪裏。
* .systemd文件應該放在一些通常的地方(參見systemd文檔),比如/usr/lib/systemd/system
。
謝謝你的回覆!其實我無法在系統總線上啓動我的應用程序,但我已經發現它應該用'sudo ...' –
來完成,那麼這與dbus-service有什麼關係? – Anwar
@Anwar,它與任何其他服務沒有區別(除了激活dbus的可能性)。 – Velkan