[opensuse] DBus type services in Systemd user mode
Hi, I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then? Any hints as to where I went wrong would be highly appreciated. Kind Regards, Matthias [1]: https://github.com/FeralInteractive/gamemode -- Dr. Matthias Bach www.marix.org „Der einzige Weg, die Grenzen des Möglichen zu finden, ist ein klein wenig über diese hinaus in das Unmögliche vorzustoßen.“ - Arthur C. Clarke
On 2018-05-13 19:54, Matthias Bach wrote:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Any hints as to where I went wrong would be highly appreciated.
What desktop are you using? I'm using XFCE, which starts and uses gnome services, and gvfs-daemon is not running. Yet, " /run/user/1000/gvfs/" exists and gets mount points of my mobile phone when needed. Maybe that daemon is not meant to run. -- Cheers / Saludos, Carlos E. R. (from 42.3 x86_64 "Malachite" at Telcontar)
Hi, Am Sonntag, 13. Mai 2018, 20:46:30 CEST schrieb Carlos E. R.:
On 2018-05-13 19:54, Matthias Bach wrote:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped
with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon
Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Any hints as to where I went wrong would be highly appreciated.
What desktop are you using?
I am using Plasma / KDE.
I'm using XFCE, which starts and uses gnome services, and gvfs-daemon is not running. Yet, " /run/user/1000/gvfs/" exists and gets mount points of my mobile phone when needed.
Maybe that daemon is not meant to run.
But why have its definition then? Note that my concern is less about the specific service. I am just using it as an example as it comes shipped with openSUSE and if it were non-functional that would be a bug. Kind Regards, Matthias -- Dr. Matthias Bach www.marix.org „Der einzige Weg, die Grenzen des Möglichen zu finden, ist ein klein wenig über diese hinaus in das Unmögliche vorzustoßen.“ - Arthur C. Clarke
On 2018-05-13 20:58, Matthias Bach wrote:
Hi,
Am Sonntag, 13. Mai 2018, 20:46:30 CEST schrieb Carlos E. R.:
On 2018-05-13 19:54, Matthias Bach wrote:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped
with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon
Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Any hints as to where I went wrong would be highly appreciated.
What desktop are you using?
I am using Plasma / KDE.
I'm using XFCE, which starts and uses gnome services, and gvfs-daemon is not running. Yet, " /run/user/1000/gvfs/" exists and gets mount points of my mobile phone when needed.
Maybe that daemon is not meant to run.
But why have its definition then?
Note that my concern is less about the specific service. I am just using it as an example as it comes shipped with openSUSE and if it were non-functional that would be a bug.
Well, they are started by gnome (and xfce) as needed. I know that gvfs works, but now how it works. -- Cheers / Saludos, Carlos E. R. (from 42.3 x86_64 "Malachite" at Telcontar)
13.05.2018 20:54, Matthias Bach пишет:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be?
This is simply not implemented. Actually I do not think there is even common agreement how it should be implemented - D-Bus session bus is per session while systemd user instance is per user.
I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Same as they were launched before systemd - via (GUI) session startup mechanism. Session D-Bus is usually started as part of X session so that all processes inherit socket address.
Any hints as to where I went wrong would be highly appreciated.
Kind Regards, Matthias
Hi, Am Sonntag, 13. Mai 2018, 21:57:23 CEST schrieb Andrei Borzenkov:
13.05.2018 20:54, Matthias Bach пишет:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped
with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon
Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? This is simply not implemented. Actually I do not think there is even common agreement how it should be implemented - D-Bus session bus is per session while systemd user instance is per user.
I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Same as they were launched before systemd - via (GUI) session startup mechanism. Session D-Bus is usually started as part of X session so that all processes inherit socket address.
So those unit files placed in /usr/lib/systemd/user are actually unused? Kind Regards, Matthias -- Dr. Matthias Bach www.marix.org „Der einzige Weg, die Grenzen des Möglichen zu finden, ist ein klein wenig über diese hinaus in das Unmögliche vorzustoßen.“ - Arthur C. Clarke
On 05/14/2018 11:47 AM, Matthias Bach wrote:
Hi,
Am Sonntag, 13. Mai 2018, 21:57:23 CEST schrieb Andrei Borzenkov:
13.05.2018 20:54, Matthias Bach пишет:
Hi,
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped
with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon
Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? This is simply not implemented. Actually I do not think there is even common agreement how it should be implemented - D-Bus session bus is per session while systemd user instance is per user.
I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Same as they were launched before systemd - via (GUI) session startup mechanism. Session D-Bus is usually started as part of X session so that all processes inherit socket address.
So those unit files placed in /usr/lib/systemd/user are actually unused?
Kind Regards, Matthias
Unless you have made others of the same name in higher priority directories. man page lists directory priority. -- After all is said and done, more is said than done.
Hi, Am Sonntag, 13. Mai 2018, 19:54:38 CEST schrieb Matthias Bach:
I am having an issue with starting Systemd services with Type=dbus in Systemd's user mode on openSUSE Leap 42.3. Specifically I am trying to use GameMode [1] but the problem seems to be a generic one. E.g., I have found several services in /usr/lib/systemd/user/ that have Type=dbus, are shipped
with openSUSE, fand fail to start. E.g.:
systemctl --user start gvfs-daemon
Failed to start gvfs-daemon.service: Unit dbus.socket failed to load: No such file or directory.
There indeed is no dbus.socket file in /usr/lib/systemd/user/. Should there be? I'd assume that gvfs-daemon and glib-pacrunner are actually used in Gnome, so how can they be launched then?
Any hints as to where I went wrong would be highly appreciated.
In case anybody stumbles upon this in the future: It seems this approach simply won't work, among other reasons due to different lifetimes of the Systemd user session and the DBus one. Thus, I have ended up deploying GameMode as a DBus-Service instead of a Systemd one which also saves the user from having to manually activate it after installation. Kind Regards, Matthias
-- Dr. Matthias Bach www.marix.org „Der einzige Weg, die Grenzen des Möglichen zu finden, ist ein klein wenig über diese hinaus in das Unmögliche vorzustoßen.“ - Arthur C. Clarke
On 05/16/2018 11:16 AM, Matthias Bach wrote:
In case anybody stumbles upon this in the future: It seems this approach simply won't work, among other reasons due to different lifetimes of the Systemd user session and the DBus one.
Linger issue? -- After all is said and done, more is said than done.
participants (4)
-
Andrei Borzenkov
-
Carlos E. R.
-
John Andersen
-
Matthias Bach