systemd 服务无法连接到会话 d-bus

Posted

技术标签:

【中文标题】systemd 服务无法连接到会话 d-bus【英文标题】:systemd servicefailed to connect to session d-bus 【发布时间】:2019-01-19 23:23:16 【问题描述】:

我有一个应用程序必须在启动期间连接到会话 dbus。如果我手动启动我的应用程序或从 initd 启动,它正在启动并连接到会话 dbus。但是,如果我通过 systemd 命令作为 systemctl --user start my-service 开始,它位于路径“/etc/systemd/user”中,则会显示以下错误“无法连接到总线:没有这样的文件或目录”。可能的原因是什么?

服务文件如下:

[Unit]
Description=dummy application to connect to session dbus.


[Service]
Type=dbus
BusName=org.client
ExecStart=/usr/local/bin/DummyApp
TimeoutSec=300
WatchdogSec=20

[Install]
WantedBy=basic.target

操作系统是 Ubuntu 16.04(64 位)。 谁能帮我解决这个问题?

【问题讨论】:

How to access session D-Bus from systemd user service?的可能重复 【参考方案1】:

如果您使用“systemctl --user”,则用户守护程序必须已经在运行。一般来说,一个是由桌面启动的。因此,您使用的操作系统不仅很重要,而且您还需要检查运行的桌面版本。

【讨论】:

以上是关于systemd 服务无法连接到会话 d-bus的主要内容,如果未能解决你的问题,请参考以下文章

无法从 ubuntu 中的服务连接到会话 dbus

如何从 systemd 用户服务访问会话 D-Bus?

计算机无法连接到远程计算机上的另一个控制台会话,您正在运行一个控制台会话

PyQt5:如何一次连接到两个 D-Bus 服务?

计算机无法连接到远程计算机上的另一个控制台会话,您正在运行一个控制台会话,怎么办?

d-bus管理