Through some online forums I determined that, with lightdm, I could bypass the authentication greeter after a screen lock by simply switching the VT/TTY.
Then I came across information from here: https://wiki.archlinux.org/title/LightDM that said:
Warning: The use of dm-tool lock or dm-tool switch-to-greeter will not lock your session if light-locker or an other loginctl compatible screen locker. See XScreenSaver#User switching from the lock screen.
After which I thought might be the cause of my issue but as far as I can tell, I don't have any of these screen lockers currently installed.
Additionally I found
Warning: When switching users using a display manager such as GDM or LightDM, XScreenSaver will not lock the original session—it can be accessed without a password simply by switching TTYs to the session in question. If you are using LightDM, as a workaround, install light-locker and run it alongside XScreenSaver. Alternatively, use a different screen locking program altogether—see List of applications/Security#Screen lockers.
but again I am certain I don't have xscreensaver
installed.
Is there a way to force the greeter to appear on the same VT as my user session when locking? Can I assign a custom script to the greeter-setup-script
variable in the lightdm conf that can force this behavior (perhaps altering an environment variable e.g. DISPLAY)?
Info:
Distributor ID: Ubuntu
Description: Ubuntu 22.10
Release: 22.10
Codename: kinetic
lightdm 1.30.0
Aside:
when I lock the screen, I am able to see from ps wwwwaux | grep auth
that a new xserver is called before starting the greeter:
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
where the first entry is the instantiation of my user session on VT7 / DISPLAY :0. Ideally, I could just throw up the greeter without creating a new xserver instance on VT8. Is this not possible?