FS#67623 - [plasma-workspace] Missing "switch user" functionality with systemd 246
Attached to Project:
Arch Linux
Opened by Bogomil (smirky) - Tuesday, 18 August 2020, 05:25 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 10 November 2020, 22:31 GMT
Opened by Bogomil (smirky) - Tuesday, 18 August 2020, 05:25 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 10 November 2020, 22:31 GMT
|
Details
Description:
When using Plasma 5 + kscreenlocker + sddm, with multi-user configuration, there should be an option to "Switch User" in the lockscreen. After updating systemd to 246, this option is no longer present. Downgrading systemd, systemd-libs, systemd-sysvcompat back to 245 resolves the problem. Additional info: * systemd 245 -> 246 Steps to reproduce: 1. Login, using SDDM with user X to Plasma 5. 2. Lock user X. 3. Try to switch to user Y and notice the missing option. |
This task depends upon
Closed by Antonio Rojas (arojas)
Tuesday, 10 November 2020, 22:31 GMT
Reason for closing: Fixed
Additional comments about closing: plasma-workspace 5.20.3
Tuesday, 10 November 2020, 22:31 GMT
Reason for closing: Fixed
Additional comments about closing: plasma-workspace 5.20.3
The property still exists and is set to "true" but because they added SD_BUS_VTABLE_HIDDEN hidden from introspection which I suspect that SDDM need for some reason (I'm just guessing on that, honestly). The CanMultiSession property is still there and you can confirm it returns "true" on 246 with the following command: `busctl get-property org.freedesktop.login1 /org/freedesktop/login1/seat/seat0 org.freedesktop.login1.Seat CanMultiSession`. You can also confirm it doesn't appear in introspection by withholding the CanMultiSession property name from the previous command and hitting the tab key which will introspect the interface and show you the available properties - CanMultiSession will be missing.
I don't use Plasma or SDDM and don't know much about but it does appear to depend on the CanMultiSession property https://github.com/sddm/sddm/blob/cf4c3caf058ea81d0e61c2087493623faac56a3f/data/interfaces/org.freedesktop.login1.Seat.xml#L11
Try opening a bug with upstream SDDM as well if one doesn't already exist.
As workaround, I downgraded to systemd version 245.7-1, systemd-libs version 245.7-1 and systemd-sysvcompat version 245.7-1 and the switch user option is back.
Attached source bundle for the parent of 8f8cc84ba4612e74cd1e26898c6816e6e60fc4e9
If that works remove the ^ from commit=8f8cc84ba4612e74cd1e26898c6816e6e60fc4e9^ build again and see if it fails.
As workaround, I downgraded to systemd version 245.7-1, systemd-libs version 245.7-1 and systemd-sysvcompat version 245.7-1 and the switch user option is back.
A fix needs to come from upstream. So a bug report needs to be opened with upstream, possibly both systemd and SDDM.
It would greatly speed up the process if the commit in systemd that introduced the change has been identified.
That is why I created the source bundle in [1] for affected users to test, see also [2].
[1] https://bugs.archlinux.org/task/67623#comment191966
[2] https://wiki.archlinux.org/index.php/Bisecting_bugs_with_Git
Or perhaps they rely on things that systemd/sddm are exporting.
[1] https://bugs.archlinux.org/task/67623#comment191966
I am guessing that GDM is not affected, only SDDM and possibly LightDM.
Can you please open upstream bug reports with SDDM [1] and systemd [2].
[1] https://github.com/sddm/sddm/issues
[2] https://github.com/systemd/systemd/issues
A different cause than suspected has been identified and there's a patch for it.
https://bugs.kde.org/show_bug.cgi?id=423526
Got it working by downgrading plasma-workspace and plasma-desktop as well (need both, cause of some kcm plugins that would otherwise be missing):
sudo pacman -U \
https://archive.org/download/archlinux_pkg_systemd/systemd-245.7-1-x86_64.pkg.tar.zst \
https://archive.org/download/archlinux_pkg_systemd-libs/systemd-libs-245.7-1-x86_64.pkg.tar.zst \
https://archive.org/download/archlinux_pkg_systemd-sysvcompat/systemd-sysvcompat-245.7-1-x86_64.pkg.tar.zst \
https://archive.org/download/archlinux_pkg_plasma-workspace/plasma-workspace-5.19.5-3-x86_64.pkg.tar.zst \
https://archive.org/download/archlinux_pkg_plasma-desktop/plasma-desktop-5.19.5-1-x86_64.pkg.tar.zst
/etc/pacman.conf:
IgnorePkg = systemd systemd-libs systemd-sysvcompat plasma-desktop plasma-workspace
Don't know if needed, but for better consistency I downgraded all of the plasma packages until this is fixed:
pacman.conf (0.7 KiB)
Tested against KDE/SDDM and KDE/LightDM on Gentoo (sorry :).