簡體   English   中英

DBus .service 文件丟失

[英]DBus .service file missing

我正在根據自己的需求構建自定義dbus服務,並希望它在有人需要時自動啟動。 為此,我創建了這樣的.service文件

[D-Bus Service]
Name=com.mycompany.servicename
Exec=/home/myuser/Workspace/service-start
User=myuser

在這里,我只是更改了服務和可執行文件的實際名稱,但這不是重點。 我已經仔細檢查過真實姓名 - 它完全匹配。 我已將此文件放在名為 com.mycompany.servicename.service 的 /usr/share/dbus-1/services 文件夾中(我使用的是 Ubuntu 11.10) 可執行文件對每個人都有x權限。 這就是問題所在 - 當我嘗試啟動執行

bus = dbus.SessionBus()
bus.get_object('com.mycompany.servicename','/path/to/object')

我得到dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name com.mycompany.servicename was not provided by any .service files

在服務啟動后立即注冊路徑為'/path/to/object' 我只是不明白為什么dbus找不到我的.service文件。 也許我錯過了什么? 有任何想法嗎?

編輯我設法讓 D-BUS 自動啟動我的腳本。 .service文件的部分應該命名為[D-BUS Service]而不是[D-Bus service]

這是評論的簡短摘要...

XDG 基本目錄規范中指定的目錄之一中創建子目錄dbus-1/services/ 通常, ~/.local/share/dbus-1/services/工作得很好。 進入新的子目錄,創建一個名為com.mycompany.servicename.service的文件並添加以下行:

[D-BUS Service]
Name=com.mycompany.servicename
Exec=/home/myuser/Workspace/service-start
User=myuser

請注意,d-BUS[D-BUS Service]需要資本化。

而已!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM