[SailfishDevel] dbus-sessionbus connection fails
Kimmo Lindholm
Kimmo.Lindholm at eke.fi
Mon Feb 3 10:29:13 UTC 2014
I need to run my service as root, and my dirty fix to get into sessionbus was just to add following into my .service file under [Service]
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/100000/dbus/user_bus_socket
I'm pretty sure that this breaks or violates something, but it seem to work...
-kimmo
From: devel-bounces at lists.sailfishos.org [mailto:devel-bounces at lists.sailfishos.org] On Behalf Of Andrey Kozhevnikov
Sent: 3. helmikuuta 2014 12:16
To: devel at lists.sailfishos.org
Subject: Re: [SailfishDevel] dbus-sessionbus connection fails
its not Requires directive, its After
On 03.02.2014 16:11, Luca Donaggio wrote:
Hi Andrey,
yes, I tried with a:
Requires=dbus .service
but I did so many changes to my .service file trying to make it work that I can't remember exactly when I did that!
I'll re-start with a clean one and see if it works.
On Mon, Feb 3, 2014 at 11:05 AM, Andrey Kozhevnikov <coderusinbox at gmail.com<mailto:coderusinbox at gmail.com>> wrote:
did you added depends for your autostart rule on some system service? otherwise it wont start :)
On 03.02.2014 16:01, Luca Donaggio wrote:
I'm fighting with the same issue: starting your dbus-using daemon with "systemctl-user start" does work (ie, you'll be able to connect to session bus), but autostarting with "systemctl-user enable" doesn't work, while making it a system daemon (plain "systemctl" command) works the other way around: it doesn't acquire the session bus (even when starting as user "nemo"), but it autostarts as expected!
On Sun, Feb 2, 2014 at 9:20 PM, Dmitry <energycsdx at gmail.com<mailto:energycsdx at gmail.com>> wrote:
Hi
You should run your daemon form user systemd unit.
https://wiki.archlinux.org/index.php/Systemd/User
On 1 February 2014 21:53, Kimmo Lindholm <Kimmo.Lindholm at eke.fi<mailto:Kimmo.Lindholm at eke.fi>> wrote:
Hi,
I'm using QtDBus in my daemon (systemd service), and I can register my own service on systemBus, and also can connect to systembus signals.
When starting executable from command line it runs ok and connects also to the sessionbus signals successfully.
but when it is started via systemctl start I can't connect to sessionbus signals.
It throws following error: "Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead"
this is printed from code below:
if (!QDBusConnection::sessionBus().isConnected())
{
writeToLog(qPrintable(QDBusConnection::sessionBus().lastError().message()));
exit(EXIT_FAILURE);
}
I figured out that DBUS_SESSION_BUS_ADDRESS is an environment variable which obviously is not visible in this context.
is there a way to pass this to the systemd service??
regards,
Kimmo
_______________________________________________
SailfishOS.org Devel mailing list
_______________________________________________
SailfishOS.org Devel mailing list
--
Luca Donaggio
_______________________________________________
SailfishOS.org Devel mailing list
_______________________________________________
SailfishOS.org Devel mailing list
--
Luca Donaggio
_______________________________________________
SailfishOS.org Devel mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140203/0c654af8/attachment.html>
More information about the Devel
mailing list