我必须在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
。
答案 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用户的会话。