systemd 服务未使用 dbus 接口启动
Posted
技术标签:
【中文标题】systemd 服务未使用 dbus 接口启动【英文标题】:systemd service not starting using dbus interface 【发布时间】:2015-07-15 03:36:02 【问题描述】:我正在尝试启动 systemd 服务 usnig dbus 服务。我正在关注下面提到的链接的示例 5: http://www.freedesktop.org/software/systemd/man/systemd.service.html
我的 dbus 服务是:
[D-BUS Service]
Name=com.native.Test_Dbus_060
Exec=/usr/sbin/server_060
User=apps
StandardOutput=tty
TTYPath=/dev/ttyS0
SystemdService=com.native.Test_Dbus_060.service
我的 systemd com.native.Test_Dbus_060.service 是:
[Unit]
Description=dbus test server
[Service]
Type=dbus
BusName=com.native.Test_Dbus_060
ExecStart=/usr/sbin/server_060
StandardOutput=tty
TTYPath=/dev/ttyS0
[Install]
WantedBy=multi-user.target
现在,当我尝试通过在 dbus 中获取上述总线来激活 com.native.Test_Dbus_060.service
服务时,它没有启动。
server_060 和 client_060 都在为 IPC 使用 dbus API。
注意:我的 server_060 和 client_060 在没有 systemd 服务和 dbus 服务的情况下直接使用时可以正常通信。
我的第一个问题是,这种类型的 systemd 服务是否可以启动? 如果是,那为什么它在我的情况下不起作用?
【问题讨论】:
你看过wiki.archlinux.org/index.php/Systemd/User#D-Bus吗? 你解决了吗?我也有类似的问题。 【参考方案1】:好吧,如果您仔细查看您引用的页面,您会注意到以下注释:
对于可激活总线的服务,不要在 systemd 服务文件中包含“[Install]”部分,而是在相应的 DBus 服务文件中使用 SystemdService= 选项,例如(/usr/share/dbus-1 /system-services/org.example.simple-dbus-service.service)
【讨论】:
以上是关于systemd 服务未使用 dbus 接口启动的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 python 和 dbus (systemd-run like) 创建 systemd 瞬态计时器和服务?