FS#66766 - [plasma-wayland-session] Session D-Bus is started twice

Attached to Project: Arch Linux
Opened by Marius (Martchus) - Sunday, 24 May 2020, 16:15 GMT
Last edited by Antonio Rojas (arojas) - Wednesday, 27 May 2020, 08:21 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Antonio Rojas (arojas)
Felix Yan (felixonmars)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description: When starting the Plasma Wayland session using SDDM which
in trun uses the file `/usr/share/wayland-sessions/plasmawayland.desktop` provided
by the `plasma-wayland-session` package the session D-Bus is started twice.

That is the case because `/usr/share/wayland-sessions/plasmawayland.desktop` uses
`dbus-run-session` to start the session D-Bus. However, systemd already takes care
of starting the session D-Bus via `/usr/lib/systemd/user/dbus.socket`. That file for
starting the session D-Bus via socket activation is provided by the `dbus` package and
hence supposed to be installed on every system.

In the end the D-Bus session started via `dbus-run-session` will be used because it
overrides `DBUS_SESSION_BUS_ADDRESS` (which is otherwise set via the systemd file).

Not using the systemd-provided D-Bus process leads to problems with software utilizing
systemd's D-Bus interface. See
https://github.com/Martchus/syncthingtray#required-system-configuration for an example.

Additional info:
* package version: 5.18.5-2 but the problem is not new
* link to upstream bug report: I'm not aware of any. Maybe this should be fixed upstream
because Arch Linux is not the only distribution where the session D-Bus is started via
systemd.
* There are now such problems in the X11 session.

Steps to reproduce:
1. Have `plasma-wayland-session` installed and start the session via SDDM (other
display managers will likely allow you to reproduce the issue as well).
2. Open e.g. `ksysguard` and observe that there are two session D-Bus processes.
3. Open e.g. `qdbusviewer` and observe that the service `org.freedesktop.systemd1` is missing
on the session D-Bus because the D-Bus instance *not* started via systemd is used.

Workaround:
Simply removing `dbus-run-session` from `/usr/share/wayland-sessions/plasmawayland.desktop`
helps. I've been testing this
(see https://github.com/Martchus/PKGBUILDs/tree/master/plasma-wayland-session-no-dbus/default)
and everything still works fine. Maybe the `dbus-run-session` could be removed via `sed` unless
that's considered too hacky.
This task depends upon

Closed by  Antonio Rojas (arojas)
Wednesday, 27 May 2020, 08:21 GMT
Reason for closing:  Fixed
Additional comments about closing:  plasma-wayland-session 5.18.5-3
Comment by Marius (Martchus) - Sunday, 24 May 2020, 16:18 GMT
s/There are now/There are no/
Comment by Jensen McKenzie (your_doomsday) - Monday, 25 May 2020, 10:58 GMT
There is existing upstream ticket opened related to dbus-run-session usage in plasma-wayland desktop file[1]. It may cause couple of issues so you may add the one you spotted in comment. Unfortunately upstream isn't much "active" in improving the situation.

https://bugs.kde.org/show_bug.cgi?id=404335

Loading...