Greeter session crashed and left blank screen
Version: gdm 40.1
Reproduce:
- Disable wayland, greeter session works on X
- Reboot to login screen
- Kill X server by CTRL+ALT+BACKSPACE(if you defined this shortcut) or by command
- Then you will see the blank screen.
When I do the same test on gdm 3.26, after greeter session crashed, gdm created a new greeter session, so we could see the login screen again.
After investigation I find it's related with this commit 5e737a57
- if (is_local) {
+ if (is_local && g_strcmp0 (session_class, "greeter") != 0) {
This line makes gdm can't create new greeter session when greeter session crashes. I know this line can prevent gdm from creating a new greeter session when logging in user session and killing the greeter session.
How does gdm handle it when greeter session crashes? If gdm doesn't create a new greeter session, gdm can't leave the blank screen, and needs to switch to the text tty. Or gdm creates a new greeter session.