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

时间:2018-06-28 05:50:39

标签: linux service systemd dbus gdbus

我必须在Ubuntu 16.04中将应用程序作为服务运行。我正在使用systemd使其在启动期间作为服务运行。我的应用程序必须同时连接到会话dbus和系统dbus。    连接到系统dbus成功。但是连接到会话dbus失败。    我试图使用“ systemctl start Myapplication”将我的应用程序作为服务运行,这一次它也没有连接到会话总线。    但是,如果我通过"./Myapplication"从终端运行应用程序,则该应用程序将成功连接到会话dbus和系统dbus。    有人可以帮我吗?

以下代码是我的.service文件内容。


[Unit]

Description=node-health-monitor to observe system health

[Service]

Type=notify

ExecStart=/home/deepan/deepan/Myapplication

[Install]

WantedBy=graphical.target

我使用GDBUS

1 个答案:

答案 0 :(得分:0)

将其设置为用户服务(以便可以以 select single * from mara where matnr = pv_matnr and "if checkbox one is selected" where matkl = t023-matkl. "if checkbox two is selected" where matkl = v023-matkl. 的身份运行)。

或者继续将其用作系统范围的服务,但是在连接到会话总线时以某种方式在Myapplication中切换用户。


我认为会引起问题的

在执行systemctl --user start Myapplication时,Myapplication以root用户身份运行。

因此,当它尝试连接到会话总线时,它正在尝试连接到root用户的会话。