从sddm中取消“切换用户”功能。

我进行了广泛的搜索,有很多关于这个问题的提及,但在过去几个月中只有少数几个不同的用户遇到过。但是我将3台Kubuntu系统升级到20.10后,现在都有这个问题,所以我很惊讶它不是一个已经有解决方案的关键性错误。

描述:

  • “切换用户”选项从K/离开菜单中消失了
  • 登录界面的SDDM锁屏也没有“切换用户”选项(您只能重新进入自己的已锁定会话)。关机/重启选项也从锁屏界面中消失了。
  • 可能与此无关:注销某些用户时(始终是同一些用户),我得到一个黑屏(对于其他用户,我返回到正常的sddm屏幕并可以选择用户)。这与kde_settings.conf / MinimumUid问题无关

我们的系统是家庭共享的,所以这真的很烦人。如果锁屏界面打开,必须强制重新启动系统才能让其他用户使用它,这涉及到所有与磁盘损坏风险相关的问题。

这是其中一个3台系统的结果。我没有看到任何明显的问题:

$ journalctl --since "2020-12-25" -u sddm | sed -e "s/.* systemname //"
-- Logs begin at Tue 2019-12-10 19:42:43 CET, end at Sun 2021-01-10 12:09:49 CET. --
systemd[1]: Starting Simple Desktop Display Manager...
systemd[1]: Started Simple Desktop Display Manager.
sddm[2035]: Initializing...
sddm[2035]: Starting...
sddm[2035]: Logind interface found
sddm[2035]: Adding new display on vt 1 ...
sddm[2035]: Loading theme configuration from ""
sddm[2035]: Display server starting...
sddm[2035]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{2eab554e-43ae-4c2b-8751-b3bea3a04ef0} -background none -noreset -displayfd 17 -seat seat0 vt1
sddm[2035]: Setting default cursor
sddm[2035]: Running display setup script  "/usr/share/sddm/scripts/Xsetup"
sddm[2035]: Display server started.
sddm[2035]: Socket server starting...
sddm[2035]: Socket server started.
sddm[2035]: Loading theme configuration from "/usr/share/sddm/themes/ubuntu-theme/theme.conf"
sddm[2035]: Greeter starting...
sddm[2035]: Adding cookie to "/var/run/sddm/{2eab554e-43ae-4c2b-8751-b3bea3a04ef0}"
sddm-helper[2353]: [PAM] Starting...
sddm-helper[2353]: [PAM] Authenticating...
sddm-helper[2353]: [PAM] returning.
sddm-helper[2353]: pam_unix(sddm-greeter:session): session opened for user sddm by (uid=0)
sddm[2035]: Greeter session started successfully
sddm[2035]: Message received from greeter: Connect
sddm[2035]: Message received from greeter: Login
sddm[2035]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[2035]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[2035]: Session "plasma.desktop" selected, command: "/usr/bin/startplasma-x11"
sddm-helper[2424]: [PAM] Starting...
sddm-helper[2424]: [PAM] Authenticating...
sddm-helper[2424]: [PAM] Preparing to converse...
sddm-helper[2424]: [PAM] Conversation with 1 messages
sddm-helper[2424]: gkr-pam: unable to locate daemon control file
sddm-helper[2424]: gkr-pam: stashed password to try later in open session
sddm-helper[2424]: [PAM] returning.
sddm-helper[2424]: pam_kwallet5(sddm:auth): (null): pam_sm_authenticate
sddm[2035]: Authenticated successfully
sddm-helper[2424]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
sddm-helper[2424]: pam_unix(sddm:session): session opened for user dargaud by (uid=0)
sddm[2035]: Auth: sddm-helper exited successfully
sddm[2035]: Greeter stopped.
sddm-helper[2424]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
sddm-helper[2424]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
sddm-helper[2424]: Starting: "/etc/sddm/Xsession \"/usr/bin/startplasma-x11\""
sddm[2035]: Session started
sddm[2035]: Authentication error: "Process crashed"
sddm[2035]: Auth: sddm-helper crashed (exit code 15)
sddm[2035]: Authentication error: "Process crashed"
sddm[2035]: Auth: sddm-helper exited with 15
sddm[2035]: Socket server stopping...
sddm[2035]: Socket server stopped.
sddm[2035]: Display server stopping...
systemd[1]: Stopping Simple Desktop Display Manager...
sddm[2035]: Display server stopped.
sddm[2035]: Running display stop script  "/usr/share/sddm/scripts/Xstop"
sddm[2035]: Removing display ":0" ...
sddm[2035]: Adding new display on vt 1 ...
sddm[2035]: Loading theme configuration from ""
sddm[2035]: Display server starting...
sddm[2035]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{5d343de6-e3c5-4c04-8659-a45f6125ce5f} -background none -noreset -displayfd 18 -seat seat0 vt1
sddm[2035]: Setting default cursor
sddm[2035]: Running display setup script  "/usr/share/sddm/scripts/Xsetup"
sddm[2035]: Display server started.
sddm[2035]: Socket server starting...
sddm[2035]: Socket server started.
sddm[2035]: Loading theme configuration from "/usr/share/sddm/themes/ubuntu-theme/theme.conf"
sddm[2035]: Greeter starting...
sddm[2035]: Adding cookie to "/var/run/sddm/{5d343de6-e3c5-4c04-8659-a45f6125ce5f}"
sddm[2035]: Signal received: SIGTERM
sddm[2035]: Socket server stopping...
sddm[2035]: Socket server stopped.
sddm[2035]: Display server stopping...
sddm-helper[9047]: [PAM] Starting...
sddm-helper[9047]: [PAM] Authenticating...
sddm-helper[9047]: [PAM] returning.
sddm[2035]: Display server stopped.
sddm[2035]: Running display stop script  "/usr/share/sddm/scripts/Xstop"
sddm[2035]: QProcess: Destroyed while process ("/usr/lib/x86_64-linux-gnu/sddm/sddm-helper") is still running.
systemd[1]: sddm.service: Succeeded.
systemd[1]: Stopped Simple Desktop Display Manager.
-- Reboot --
systemd[1]: Starting Simple Desktop Display Manager...
systemd[1]: Started Simple Desktop Display Manager.
sddm[1934]: Initializing...
sddm[1934]: Starting...
sddm[1934]: Logind interface found
sddm[1934]: Adding new display on vt 1 ...
sddm[1934]: Loading theme configuration from ""
sddm[1934]: Display server starting...
sddm[1934]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{d57df6b7-2776-4dc6-b28b-1746e9a6613d} -background none -noreset -displayfd 17 -seat seat0 vt1
sddm[1934]: Setting default cursor
sddm[1934]: Running display setup script  "/usr/share/sddm/scripts/Xsetup"
sddm[1934]: Display server started.
sddm[1934]: Socket server starting...
sddm[1934]: Socket server started.
sddm[1934]: Loading theme configuration from "/usr/share/sddm/themes/ubuntu-theme/theme.conf"
sddm[1934]: Greeter starting...
sddm[1934]: Adding cookie to "/var/run/sddm/{d57df6b7-2776-4dc6-b28b-1746e9a6613d}"
sddm-helper[2206]: [PAM] Starting...
sddm-helper[2206]: [PAM] Authenticating...
sddm-helper[2206]: [PAM] returning.
sddm-helper[2206]: pam_unix(sddm-greeter:session): session opened for user sddm by (uid=0)
sddm[1934]: Greeter session started successfully
sddm[1934]: Message received from greeter: Connect
sddm[1934]: Message received from greeter: Login
sddm[1934]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[1934]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[1934]: Session "plasma.desktop" selected, command: "/usr/bin/startplasma-x11"
sddm-helper[2276]: [PAM] Starting...
sddm-helper[2276]: [PAM] Authenticating...
sddm-helper[2276]: [PAM] Preparing to converse...
sddm-helper[2276]: [PAM] Conversation with 1 messages
sddm-helper[2276]: gkr-pam: unable to locate daemon control file
sddm-helper[2276]: gkr-pam: stashed password to try later in open session
sddm-helper[2276]: [PAM] returning.
sddm-helper[2276]: pam_kwallet5(sddm:auth): (null): pam_sm_authenticate
sddm[1934]: Authenticated successfully
sddm-helper[2276]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
sddm-helper[2276]: pam_unix(sddm:session): session opened for user dargaud by (uid=0)
sddm[1934]: Auth: sddm-helper exited successfully
sddm[1934]: Greeter stopped.
sddm-helper[2276]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
sddm-helper[2276]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
sddm-helper[2276]: Starting: "/etc/sddm/Xsession \"/usr/bin/startplasma-x11\""
sddm[1934]: Session started
systemd[1]: Stopping Simple Desktop Display Manager...
sddm[1934]: Signal received: SIGTERM
sddm[1934]: Authentication error: "Process crashed"
sddm[1934]: Auth: sddm-helper crashed (exit code 15)
sddm[1934]: Authentication error: "Process crashed"
sddm[1934]: Auth: sddm-helper exited with 15
sddm[1934]: Socket server stopping...
sddm[1934]: Socket server stopped.
sddm[1934]: Display server stopping...
sddm[1934]: Display server stopped.
sddm[1934]: Running display stop script  "/usr/share/sddm/scripts/Xstop"
sddm[1934]: Removing display ":0" ...
sddm[1934]: Adding new display on vt 1 ...
sddm[1934]: Loading theme configuration from ""
sddm[1934]: Display server starting...
sddm[1934]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{784e9002-ceaa-453f-9bbe-8c596e312df0} -background none -noreset -displayfd 18 -seat seat0 vt1
sddm[1934]: Failed to read display number from pipe
sddm[1934]: Display server failed to start. Exiting
systemd[1]: sddm.service: Main process exited, code=killed, status=6/ABRT
systemd[1]: sddm.service: Failed with result 'signal'.
systemd[1]: Stopped Simple Desktop Display Manager.
systemd[1]: sddm.service: Triggering OnFailure= dependencies.
systemd[1]: sddm.service: Failed to enqueue OnFailure= job, ignoring: Transaction for plymouth-quit.service/start is destructive (systemd-tmpfiles-setup-dev.service has 'stop' job queued, but 'start' is included in transaction).
-- Reboot --
systemd[1]: Starting Simple Desktop Display Manager...
systemd[1]: Started Simple Desktop Display Manager.
sddm[2066]: Initializing...
sddm[2066]: Starting...
sddm[2066]: Logind interface found
sddm[2066]: Adding new display on vt 1 ...
sddm[2066]: Loading theme configuration from ""
sddm[2066]: Display server starting...
sddm[2066]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{f4e5de63-9bec-4555-b1c8-b622830fff8f} -background none -noreset -displayfd 17 -seat seat0 vt1
sddm[2066]: Setting default cursor
sddm[2066]: Running display setup script  "/usr/share/sddm/scripts/Xsetup"
sddm[2066]: Display server started.
sddm[2066]: Socket server starting...
sddm[2066]: Socket server started.
sddm[2066]: Loading theme configuration from "/usr/share/sddm/themes/ubuntu-theme/theme.conf"
sddm[2066]: Greeter starting...
sddm[2066]: Adding cookie to "/var/run/sddm/{f4e5de63-9bec-4555-b1c8-b622830fff8f}"
sddm-helper[2344]: [PAM] Starting...
sddm-helper[2344]: [PAM] Authenticating...
sddm-helper[2344]: [PAM] returning.
sddm-helper[2344]: pam_unix(sddm-greeter:session): session opened for user sddm by (uid=0)
sddm[2066]: Greeter session started successfully
sddm[2066]: Message received from greeter: Connect
sddm[2066]: Message received from greeter: Login
sddm[2066]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[2066]: Reading from "/usr/share/xsessions/plasma.desktop"
sddm[2066]: Session "plasma.desktop" selected, command: "/usr/bin/startplasma-x11"
sddm-helper[2414]: [PAM] Starting...
sddm-helper[2414]: [PAM] Authenticating...
sddm-helper[2414]: [PAM] Preparing to converse...
sddm-helper[2414]: [PAM] Conversation with 1 messages
sddm-helper[2414]: gkr-pam: unable to locate daemon control file
sddm-helper[2414]: gkr-pam: stashed password to try later in open session
sddm-helper[2414]: [PAM] returning.
sddm-helper[2414]: pam_kwallet5(sddm:auth): (null): pam_sm_authenticate
sddm[2066]: Authenticated successfully
sddm-helper[2414]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
sddm-helper[2414]: pam_unix(sddm:session): session opened for user dargaud by (uid=0)
sddm[2066]: Auth: sddm-helper exited successfully
sddm[2066]: Greeter stopped.
sddm-helper[2414]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
sddm-helper[2414]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
sddm-helper[2414]: Starting: "/etc/sddm/Xsession \"/usr/bin/startplasma-x11\""
sddm[2066]: Session started

2021年更新:在升级到Kubuntu 21.10之后,它终于按预期工作了几周...直到某个更新破坏了它。现在使用“切换用户”选项会导致一个无法恢复的黑屏。我仍然可以使用Ctrl-Alt-F2来终止和重新启动Plasma,但这很糟糕。等我有时间收集数据时会发布更多信息。

可能与https://github.com/sddm/sddm/issues/991有关。 - guiverc
似乎有关联,但通常的解决方案并不起作用。之前使用了nouveau驱动,尝试了nvidia驱动,但没有任何改变。 - dargaud
请查看您的服务日志,以确定是否发生任何错误。journalctl -u sddm - da_kingpin
我突然想到,可以通过日期来缩小日志条目的范围。journalctl --since "2020-12-25" -u sddm。这样可以查看自圣诞节以来的日志。可能与'systemd-logind'服务有关。 - da_kingpin
好的,我已经将它添加到原始消息中。 - dargaud
我现在明白你说的是什么意思了。我已经有相当长一段时间成为系统上唯一的用户了。这完全没有被注意到。我设法找到了一些解决办法。在这个过程中,我发现切换用户图标在应用启动器中“神奇”地出现了。我还在试图确定是怎么回事。这似乎是一个主题上的缺陷。在我看来,这是一个重大的缺陷。 - da_kingpin
3个回答

根据我的经验,这个问题的最简单解决方法(直到21.04版本发布)是按下Ctrl-Alt-F2(或F3、F4等),进入控制台模式并输入startx以启动桌面环境。


很高兴知道下一个版本会修复这个问题。只需要等待它传播到 Kubuntu 上就好了。 - dargaud
我等不及了,这让之前的多用户机器的效用大打折扣。所以现在正在冒险地运行Hirsuite Hippo!目前看来足够稳定... 个人体验可能有所不同(YMMV)。 - Jonathan Sambrook

我在默认的Kubuntu KDE Plasma桌面中找不到一个明确的解决方法,这在我看来似乎是一个重大的主题缺陷。
以下是我的解决方法:
将“用户切换器”小部件添加到桌面上:
在桌面的空白处右键单击,从菜单中选择“添加小部件”。在搜索栏中输入“user”,然后将其添加到桌面上。
更改默认登录界面:
应用程序启动器->系统设置->启动和关机+登录界面(SDDM)
我选择了“获取新的登录界面”,并选择了一个具有用户下拉菜单的界面。在我的情况下,它是一个名为“Sugar Candy”的界面。
我在这个解决方法中遇到的问题是:
锁定会话只允许锁定的用户登录。要切换用户,需要当前用户重新登录,然后使用切换用户小部件。
如果当前用户启动了一个新会话,它会在tty2上启动一个无法使用的会话。有一次卡住了,不得不重新启动。在大多数情况下,我能够通过使用“Ctrl+Alt+F1”离开新会话。
这是在我的Kubuntu 20.04以及一个新的虚拟机中的Kubuntu 20.10上进行了测试。 在20.04的某个时候,应用程序启动器中突然出现了一个“切换用户”的图标,之前没有。目前仍不确定是什么造成了这个问题。
我将尝试在其他发行版上使用KDE来确定这是一个Kubuntu的问题还是一个KDE的问题。
我的观点是:
对于多用户机器来说,这肯定是一个无法容忍的问题。多年来,我一直作为唯一用户使用Kubuntu,并且非常喜欢它。但是对于多个用户来说,我觉得当前默认安装下的体验会非常糟糕。

谢谢你的建议,但那太过于不可接受了:你必须知道每个人的密码才能使其工作。 - dargaud