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

--- Comment #4 from Wolfgang Bauer <wba...@tmo.at> ---
I had a look at this on openSUSE Tumbleweed, which also has systemd 246 and
this problem.

The "Switch User" button is indeed missing because
KDisplayManager::isSwitchable() returns false.

For reference, here's the code of KDisplayManager::isSwitchable():
    if (DMType == NewGDM || DMType == LightDM) {
        QDBusObjectPath currentSeat;
        if (getCurrentSeat(nullptr, &currentSeat)) {
            SystemdSeat SDseat(currentSeat);
            if (SDseat.isValid()) {
                QVariant prop = SDseat.property("CanMultiSession");
                if (prop.isValid())
                    return prop.toBool();
            }
... (ConsoleKit stuff follows here)

Now the problem is that with systemd 246, SDseat.property("CanMultiSession")
yields QVariant(Invalid), i.e. apparently getting that property fails.

Although, "qdbus-qt5 --system org.freedesktop.login1
/org/freedesktop/login1/seat/auto org.freedesktop.DBus.Properties.Get
org.freedesktop.login1.Seat CanMultiSession" does work and returns true.
But the property is not listed in qdbusviewer either.

As a quick test, I changed the code to this:
                if (prop.isValid())
                    return prop.toBool();
                else
                    return true; // if the property cannot be get, assume that
MultiSession is supported

Now the button appears again, and user switching works (together with
https://invent.kde.org/plasma/plasma-workspace/-/commit/c5fa3a15a444b0e7c9113b2dd0351e1cf7141d29,
otherwise switching to an existing session just hangs on an empty screen ).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to