通过一些在线论坛,我发现使用 lightdm,我可以通过简单地切换 VT/TTY 来绕过屏幕锁定后的身份验证问候程序。
然后我从这里找到了信息:https://wiki.archlinux.org/title/LightDM即:
警告:如果 light-locker 或其他 loginctl 兼容的屏幕锁定器,则使用 dm-tool lock 或 dm-tool switch-to-greeter 将不会锁定您的会话。请参阅 XScreenSaver#从锁定屏幕切换用户。
之后我认为这可能是导致我的问题的原因,但据我所知,我目前没有安装任何这些屏幕锁。
此外我发现
警告:使用 GDM 或 LightDM 等显示管理器切换用户时,XScreenSaver 不会锁定原始会话 — 只需将 TTY 切换到相关会话即可访问,无需密码。如果您使用的是 LightDM,作为一种解决方法,请安装 light-locker 并与 XScreenSaver 一起运行。或者,使用不同的屏幕锁定程序 — 请参阅应用程序列表/安全#屏幕锁定程序。
但我再次确信我没有xscreensaver
安装。
有没有办法在锁定时强制让欢迎程序出现在与我的用户会话相同的 VT 上?我可以将自定义脚本分配给greeter-setup-script
lightdm conf 中的变量以强制执行此行为吗(也许可以更改环境变量,例如 DISPLAY)?
信息:
Distributor ID: Ubuntu
Description: Ubuntu 22.10
Release: 22.10
Codename: kinetic
lightdm 1.30.0
另外:当我锁定屏幕时,我能够看到ps wwwwaux | grep auth
在启动欢迎程序之前调用了一个新的 xserver:
root 1627 5.8 0.4 25476336 152144 tty7 Ssl+ 16:03 0:36 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 2894 0.5 0.4 25672204 147444 tty8 Ssl+ 16:04 0:03 /usr/lib/xorg/Xorg -core :1 -seat seat0 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
其中第一个条目是我在 VT7 / DISPLAY :0 上的用户会话的实例。理想情况下,我可以直接抛出欢迎程序,而无需在 VT8 上创建新的 xserver 实例。这不可能吗?