'Switch user' not available in application launcher after upgrade to 20.10
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Plasma Desktop |
Fix Released
|
Medium
|
|||
plasma-desktop (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Operating System: Kubuntu 20.10
KDE Plasma Version: 5.19.5
KDE Frameworks Version: 5.74.0
Qt Version: 5.14.2
Kernel Version: 5.8.0-25-generic
OS Type: 64-bit
Processors: 6 × AMD Ryzen 5 3500X 6-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: GeForce GT 710/PCIe/SSE2
After upgrading Kubuntu 20.04 to 20.10 "Switch user" is no longer available as an option in the application launcher (neither in krunner, e.g.). It just vanished.
This seems like an unbelievably serious regression and although it seems like it's fixed in KDE 5.20, there should be some fix for Kubuntu 20.10 meanwhile.
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #6 |
Just re-appeared after a kernel update. :/
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #7 |
And now after another update it's gone missing again. Not sure what level of the stack is causing this. :(
In KDE Bug Tracking System #423526, Alexander-lohnau (alexander-lohnau) wrote : | #8 |
I didn't have this issue on KDE Neon Unstable(Qt 5.14.2) and always had a look at the menu after updating and rebooting ;-).
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #9 |
I just reproduced this on a bare Neon User Edition install. :(
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #10 |
I cannot reproduce, but clearly we have some silly timing issue.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #11 |
m_valid = (KAuthorized:
&& KDisplayManager
break;
Eww, KDisplayManager has been deprecated since forever.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #12 |
And this would have fixed it:
In KDE Bug Tracking System #423526, Bug-janitor (bug-janitor) wrote : | #13 |
A possibly relevant merge request was started @ https:/
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #14 |
*** Bug 425792 has been marked as a duplicate of this bug. ***
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #15 |
Git commit bb7b1226e65f533
Committed on 30/09/2020 at 10:33.
Pushed by davidedmundson into branch 'master'.
[libkworkspace] Port from deprecated GetSessionByPID
This method calls doesn't seem to work anymore having been replaced by
the more intuitve virtual paths on the logind over a year ago.
Arguably that's still a bug upstream that GetSessionByPID no longer
works correctly, but we may as well port to the simpler path that avoids
so many layers of indirection.
Use of "/auto" does not exist on old distros so the legacy path is kept.
The paths used in this class were always wrong, which went unnoticed as
this is the first usage of them.
A +15 -0 components/
M +21 -13 libkworkspace/
The files marked with a * at the end have a non valid license. Please read: https:/
https:/
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #16 |
Git commit 3acf8f30249ef25
Committed on 30/09/2020 at 10:48.
Pushed by davidedmundson into branch 'Plasma/5.20'.
[libkworkspace] Port from deprecated GetSessionByPID
This method calls doesn't seem to work anymore having been replaced by
the more intuitve virtual paths on the logind over a year ago.
Arguably that's still a bug upstream that GetSessionByPID no longer
works correctly, but we may as well port to the simpler path that avoids
so many layers of indirection.
Use of "/auto" does not exist on old distros so the legacy path is kept.
The paths used in this class were always wrong, which went unnoticed as
this is the first usage of them.
(cherry picked from commit bb7b1226e65f533
A +15 -0 components/
M +21 -13 libkworkspace/
The files marked with a * at the end have a non valid license. Please read: https:/
https:/
In KDE Bug Tracking System #423526, Arojas-8 (arojas-8) wrote : | #17 |
The patch doesn't fix the issue on 5.19, according to downstream reports. On 5.20, this was already fixed by 05414ed58d43d87
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #18 |
*** Bug 427673 has been marked as a duplicate of this bug. ***
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #19 |
Oh wth.
if (prop.isValid())
but there is no such property on
qdbus --system org.freedesktop
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #20 |
src/login/
So it does still exist, but it's hidden from introspection.
And always returns true anyway: 8f8cc84ba4612e7
I'm still confused by the reports in the duplicate saying it doesn't work.
It does here.
Can someone who still has an issue include output of:
qdbus --system org.freedesktop
and reopen
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #21 |
(In reply to David Edmundson from comment #15)
> Can someone who still has an issue include output of:
> qdbus --system org.freedesktop
> org.freedesktop
> CanMultiSession
qdbus --system org.freedesktop
Cannot find 'org.freedeskto
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #22 |
I'm using an older systemd/logind here (234) where "auto" doesn't exist.
It seems to work with "self" instead though:
qdbus --system org.freedesktop
true
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #23 |
And to clarify: "Switch user" is available in the application menu here, but it's missing on the lock screen (because KDisplayManager
And it's not possible to switch to an existing session, only open a new one.
This is with Plasma 5.20.0. (and systemd 234 as mentioned)
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #24 |
I meanwhile added some debug output to KDisplayManager, and the problem apparently is this:
SDseat.
(after the line "QVariant prop = SDseat.
In KDE Bug Tracking System #423526, Achim Schaefer (achim-schaefer) wrote : | #25 |
using systemd 245 I get:
achim@xxx:~$ qdbus --system org.freedesktop
true
achim@xxx:~$
I currently have no computer with systemd 246, but 246 causes the trouble.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #26 |
Oh, interesting. So we have 3 options:
GetSessionByPid -> then get the seat
Seat/self
Seat/auto
GetSessionFromPid works in old systemd but broke in newer versions
self fails in some situations
auto is only available in new systemd
I assumed if auto didn't work I could just leave it on the old path... seemingly that is not the case.
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #27 |
(In reply to David Edmundson from comment #21)
> I assumed if auto didn't work I could just leave it on the old path...
> seemingly that is not the case.
Maybe the fallback doesn't work as intended?
I'll try to add more debug output to see what happens exactly on my system.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #28 |
>I'll try to add more debug output to see what happens exactly on my system.
Thanks!
Super worst case, we can just return /self if /auto fails. It should work.
In KDE Bug Tracking System #423526, 3-a-9 (3-a-9) wrote : | #29 |
(In reply to David Edmundson from comment #15)
> src/login/
> property_
> SD_BUS_
>
>
> So it does still exist, but it's hidden from introspection.
> And always returns true anyway: 8f8cc84ba4612e7
> which makes our check somewhat redundant!
>
> I'm still confused by the reports in the duplicate saying it doesn't work.
> It does here.
>
> Can someone who still has an issue include output of:
> qdbus --system org.freedesktop
> org.freedesktop
> CanMultiSession
>
>
> and reopen
qdbus-qt5 --system org.freedesktop
true
zypper search -sxi systemd plasma5-session plasma-framework
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
---+---
i+ | plasma-framework | package | 5.75.0-1.1 | x86_64 | openSUSE-Tumblweed (20201012)
i+ | plasma5-session | package | 5.19.5-3.1 | noarch | openSUSE-Tumblweed (20201012)
i+ | systemd | package | 246.6-1.1 | x86_64 | openSUSE-Tumblweed (20201012)
Switch user option isn't listed anywhere.
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #30 |
(In reply to Pavel from comment #24)
> i+ | plasma5-session | package | 5.19.5-3.1 | noarch | openSUSE-Tumblweed
> (20201012)
You should try with Plasma 5.20.0, for which this bug report was closed as fixed originally.
5.19.5 doesn't have the new code (https:/
It should be in Tumbleweed soon.
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #31 |
(In reply to Wolfgang Bauer from comment #22)
> (In reply to David Edmundson from comment #21)
> > I assumed if auto didn't work I could just leave it on the old path...
> > seemingly that is not the case.
> Maybe the fallback doesn't work as intended?
> I'll try to add more debug output to see what happens exactly on my system.
Indeed, on my system (with systemd 234), it doesn't use the fallback with GetSessionByPID.
seat.isValid() is true in line#435, even though "auto" doesn't exist. So it enters the if() and returns true before calling GetSessionByPID.
If I disable that "if(seat.isValid() { return true; }" part (so the fallback is always used), the button is visible on the login screen now and clicking on it does show existing user sessions.
So the fallback code itself (with GetSessionByPID) does work.
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #32 |
Actually switching to an existing user session does apparently not work though, it just seems to hang on an empty screen (with the wallpaper and mouse pointer).
From the lock screen at least, it does seem to work when using the "user switch" applet.
I don't have more time for testing or investigating at the moment though. (and it might be an unrelated problem)
In KDE Bug Tracking System #423526, Emailej-p (emailej-p) wrote : | #33 |
(In reply to Pavel from comment #24)
> (In reply to David Edmundson from comment #15)
> > src/login/
> > property_
> > SD_BUS_
> >
> >
> > So it does still exist, but it's hidden from introspection.
> > And always returns true anyway: 8f8cc84ba4612e7
> > which makes our check somewhat redundant!
> >
> > I'm still confused by the reports in the duplicate saying it doesn't work.
> > It does here.
> >
> > Can someone who still has an issue include output of:
> > qdbus --system org.freedesktop
> > org.freedesktop
> > CanMultiSession
> >
> >
> > and reopen
>
> qdbus-qt5 --system org.freedesktop
> org.freedesktop
> CanMultiSession
> true
>
> zypper search -sxi systemd plasma5-session plasma-framework
> Loading repository data...
> Reading installed packages...
>
> S | Name | Type | Version | Arch | Repository
> ---+---
> --------
> i+ | plasma-framework | package | 5.75.0-1.1 | x86_64 | openSUSE-Tumblweed
> (20201012)
> i+ | plasma5-session | package | 5.19.5-3.1 | noarch | openSUSE-Tumblweed
> (20201012)
> i+ | systemd | package | 246.6-1.1 | x86_64 | openSUSE-Tumblweed
> (20201012)
>
> Switch user option isn't listed anywhere.
:~> qdbus-qt5 --system org.freedesktop
true
:~> zypper search -sxi systemd plasma5-session plasma-framework
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
---+---
i+ | plasma-framework | package | 5.75.0-306.1 | x86_64 | KDE-Frameworks
i+ | plasma5-session | package | 5.20.0-555.1 | noarch | KDE-Frameworks
i+ | systemd | package | 246.6-1.1 | x86_64 | Main Repository (OSS)
I have switch user function from the application menu which functions to take you to a new login screen showing list of users, and options; Switch to This Session, Start New Session, and Back. Choosing the Switch to This Session option results in session hang on an empty screen with the wallpaper and mouse pointer (same as described in comment 27). Start New Session, and Back both work as expected.
I do not have any options on the lock screen to Start New Session or Switch to This Session.
In KDE Bug Tracking System #423526, Smirky (smirky) wrote : | #34 |
I can confirm this since 5.19.x and now on 5.20.1. This is definitely annoying, as it blocks secondary users from switching users when a lockscreen is present. Using Ctrl+Fx is definitely hacky and not a good way to switch users. I know that systemd introduced this, but please work this through...
In KDE Bug Tracking System #423526, Torge (cyslider) wrote : | #35 |
Hope you are wrong am really hoping for a fix here. How is this not a severe bug? My wife is gonna kill me soon ;-)
In KDE Bug Tracking System #423526, Emailej-p (emailej-p) wrote : | #36 |
(In reply to cyslider from comment #30)
> Hope you are wrong am really hoping for a fix here. How is this not a severe
> bug? My wife is gonna kill me soon ;-)
I completely agree - this should be marked SEVERE! The original bug only concerned missing functionality on the kicker menu. If limited to that, this would not prevent users from using the system. That kicker menu issue has been at least partially fixed.
However the current issue is regarding missing functionality on the lockscreen! This issue COMPLETELY DISABLES PROPER FUNCTION OF A MULTIUSER SYSTEM! Users CAN NOT LOGIN! That is not a normal bug importance! Apologies for CAPS :P
https:/
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #37 |
The login screen regression is tracked with Bug 427777.
In KDE Bug Tracking System #423526, Jhaand-k (jhaand-k) wrote : | #38 |
A workaround for using switching in a small environment.
It is possible to switch users via the command: "loginctl activate <session>"
I think I will try to create a shell script to switch to the correct user and stick it to the plasma desktop.
The only problem is that logind now keeps some processes alive and the list of active sessions becomes really long.
In KDE Bug Tracking System #423526, Jhaand-k (jhaand-k) wrote : | #39 |
Here's the shell script to switch to a desktop of a particular user as a workaround.
https:/
This will hopefully make life somewhat easier.
In KDE Bug Tracking System #423526, Bug-janitor (bug-janitor) wrote : | #40 |
A possibly relevant merge request was started @ https:/
In KDE Bug Tracking System #423526, Bug-janitor (bug-janitor) wrote : | #41 |
A possibly relevant merge request was started @ https:/
In KDE Bug Tracking System #423526, Torge (cyslider) wrote : | #42 |
@Jelle Haandrikman: Thank you, but the main problem is that the user first has to get to a desktop to use this script. But he is stuck at the login screen of another user. So ctrl+alt+FX stays the only way currently it seems.
But it often happens that multiple sessions get created by accident this way and the profile starts to get damages at some point, increasing the frustration to the maximum
In KDE Bug Tracking System #423526, Jhaand-k (jhaand-k) wrote : | #43 |
@<email address hidden> Indeed you need some extra workarounds. Disable the Screensavers and use "loginctl disable-linger" on those desktops. It works better if everything is kept clean. I now added the ".desktop" file to create a launcher on a desktop.
But this actually needs to get fixed.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #44 |
Git commit 7c5f16c40e9bf27
Committed on 01/11/2020 at 16:45.
Pushed by davidedmundson into branch 'master'.
Fix SystemEntries not updating correctly
The code is meant to add the entry if it's valid, then watch for
changes. Somehow we end up only monitoring if it was valid initially.
This doesn't make sense.
This means if the menu loads before the backend we don't update
correctly when it does load.
Related: bug 427779
M +2 -2 applets/
https:/
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #45 |
Git commit d3c0c394d467319
Committed on 02/11/2020 at 15:33.
Pushed by ngraham into branch 'Plasma/5.20'.
Fix SystemEntries not updating correctly
The code is meant to add the entry if it's valid, then watch for
changes. Somehow we end up only monitoring if it was valid initially.
This doesn't make sense.
This means if the menu loads before the backend we don't update
correctly when it does load.
Related: bug 427779
(cherry picked from commit 7c5f16c40e9bf27
M +2 -2 applets/
https:/
Launchpad Janitor (janitor) wrote : | #1 |
Status changed to 'Confirmed' because the bug affects multiple users.
Changed in plasma-desktop (Ubuntu): | |
status: | New → Confirmed |
Maciej Michno (radar) wrote : | #2 |
Looks related to:
https:/
https:/
This is really disruptive to anyone relying on this functionality. Not many people are using it, probably (switching users has always been super buggy in general) but having the function completely missing is really serious.
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #46 |
Git commit f6269cadde64ac5
Committed on 03/11/2020 at 11:23.
Pushed by davidedmundson into branch 'master'.
[libkworkspace] Fix if getCurrentSeat needs to fallback to old approach
The test for whether "/auto" is supported was bogus.
QDBusAbstractIn
exists and the path is a legally valid name, not that it has any
interfaces there.
This means the fallback path is not run appropriately.
M +1 -1 libkworkspace/
https:/
In KDE Bug Tracking System #423526, U26 (u26) wrote : | #47 |
Git commit b4ef966790c35cc
Committed on 03/11/2020 at 11:44.
Pushed by davidedmundson into branch 'Plasma/5.20'.
[libkworkspace] Fix if getCurrentSeat needs to fallback to old approach
The test for whether "/auto" is supported was bogus.
QDBusAbstractIn
exists and the path is a legally valid name, not that it has any
interfaces there.
This means the fallback path is not run appropriately.
(cherry picked from commit f6269cadde64ac5
M +1 -1 libkworkspace/
https:/
In KDE Bug Tracking System #423526, Patrick Gillespie (vermontpoet) wrote : | #48 |
Forgive my ignorance, but will this fix be backported to 5.18.x? Or will the fix only apply to 5.20.3?
Am currently on Kubuntu 20.04 with version 5.18.5.
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #49 |
Git commit c5fa3a15a444b0e
Committed on 05/11/2020 at 20:29.
Pushed by wbauer into branch 'master'.
[lookandfeel] Fix switching to a different user session
Commit bcaf3886 removed the property `m` in UserDelegate.qml, but it is still used by
`userListCurren
This broke switching to an existing session via the "Switch User" button on the lock screen or the
application launcher/menu, it just hung with an empty screen and this runtime error in the logs:
file://
Adding it back makes switching work again (and gets rid of the runtime error).
FIXED-IN: 5.20.3
M +1 -0 lookandfeel/
https:/
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #50 |
Git commit 9a78614d4bbd985
Committed on 05/11/2020 at 20:33.
Pushed by wbauer into branch 'Plasma/5.20'.
[lookandfeel] Fix switching to a different user session
Commit bcaf3886 removed the property `m` in UserDelegate.qml, but it is still used by
`userListCurren
This broke switching to an existing session via the "Switch User" button on the lock screen or the
application launcher/menu, it just hung with an empty screen and this runtime error in the logs:
file://
Adding it back makes switching work again (and gets rid of the runtime error).
FIXED-IN: 5.20.3
(cherry picked from commit c5fa3a15a444b0e
M +1 -0 lookandfeel/
https:/
Jorge Lopez (jorgelc) wrote : | #3 |
I agree with @radar this is disruptive.
It is not only the "switch user" option in the launcher, but also in the lock screen. If user Anna locks the screen, user Bob cannot unlock it as he will never have a "switch user" button there.
In my case, both me and my partner use a shared computer. Before this, when one of us finished using it, we would simply close the lid and the other one could use it afterwards. Now this is not a possibility any more.
Sven N. (drecksoft) wrote : | #4 |
Downgrading systemd to 245 helped. Of course that's only a temporary solution.
This is definitely a MAJOR bug that should be resolved ASAP. It makes my system almost unusable as I'm permanently switching between two accounts. It's also not the best argument to convince other colleagues to switch from Windows.
Changed in plasma-desktop: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
In KDE Bug Tracking System #423526, Wbauer (wbauer) wrote : | #51 |
(In reply to PGillespie from comment #43)
> Forgive my ignorance, but will this fix be backported to 5.18.x? Or will the
> fix only apply to 5.20.3?
> Am currently on Kubuntu 20.04 with version 5.18.5.
And what systemd version does Kubuntu 20.04 have?
According to my testing on the upcoming openSUSE Leap 15.3 (which has Plasma 5.18 and systemd 246), the only change needed to fix the problem there is the commit referenced in bug#427777, otherwise things seem to work well.
But it seems Ubuntu 20.04 has systemd 245 (can you confirm?). From what I understand that might have had a "bug" that broke the deprecated GetSessionByPID function (seems to be fixed again in 246), so probably the fix from comment#10 (https:/
Maybe you should also contact the distribution about that.
In KDE Bug Tracking System #423526, Dr. Tilmann Bubeck (t-bubeck) wrote : | #52 |
This bug is still in Fedora 34:
Name : plasma-workspace
Version : 5.21.5
Release : 3.fc34
See also https:/
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #53 |
In Fedora 34 there was a deliberate decision to remove it, because it does not work yet in the Plasma Wayland session, which was made the default session. Hopefully it will be back eventually. You would need to contact the Fedora KDE packagers for more information.
In KDE Bug Tracking System #423526, 8p-kde (8p-kde) wrote : | #54 |
@Nate : is there a new issue for Wayland switch user functionality as this one is resolved?
In KDE Bug Tracking System #423526, Nate-b (nate-b) wrote : | #55 |
I don't know, sorry.
In KDE Bug Tracking System #423526, Rex Dieter (rdieter) wrote : | #56 |
Here's some sddm-related references on the topic at least,
https:/
and
https:/
Everything KDE built from source this morning with Qt 5.15.0 on top of openSUSE Tumbleweed.
Kickoff and Kicker are no longer displaying the "Switch User" functionality. However if I search for "Switch user" in KRunner, it displays an item called "New Session" which works as expected. It's just Kickoff and Kicker that don't have the functionality visible anymore.
Not reproducible with Plasma 5.19, just my built-from-source git master stuff.