Yeah, that's annoying. You reboot your Linux box, and instead of the login screen, you get a blinking cursor or a text console. GDM3 just gave up. Don't worry—I've seen this a dozen times, and it's usually fixable in 10 minutes.
First, Get to a Terminal
You need a terminal to do anything. Hit Ctrl+Alt+F2 (or F3, F4, whatever works) to switch to a TTY. Log in with your username and password. If that doesn't work, you might need to boot from a live USB to mount your drive and fix things from there.
The Fix: Check GDM3 Service and Config
Most of the time, GDM3 fails because a config file got corrupted or you ran out of disk space. Here's the quick check:
sudo systemctl status gdm3
If it shows "failed" or "inactive", try restarting it:
sudo systemctl restart gdm3
If that doesn't bring the GUI back, check the logs:
sudo journalctl -u gdm3 -n 50
Look for lines with "error" or "failed". A common one is "GDM: Could not parse file: /etc/gdm3/custom.conf". That file is easy to mess up. Open it:
sudo nano /etc/gdm3/custom.conf
Make sure it's valid. If you see weird characters or missing brackets, just rename it:
sudo mv /etc/gdm3/custom.conf /etc/gdm3/custom.conf.bak
Then restart GDM3 again. It'll use the default config. Had a client last month whose print queue died because of a similar typo in a config file—same idea.
Low Disk Space? That'll Kill GDM3
Another big one: if your root partition is full, GDM3 won't start. Check with:
df -h
If it's 100% full, you need to free space. Delete old logs, temp files, or unused packages:
sudo apt autoremove
sudo journalctl --vacuum-size=100M
Then try restarting GDM3 again. Works more often than you'd think.
Why This Works
GDM3 is picky about its config file. A small syntax error—like a missing semicolon—can crash the whole display manager. Disk space is even simpler: GDM3 can't write its session data when the disk is full. Fixing either one gets you back to the GUI.
Less Common Variations
Sometimes the issue is a graphics driver. If you recently updated your Nvidia or AMD driver, it might conflict. Try booting into recovery mode (hold Shift at boot) and selecting "resume" or "recovery". Then reinstall the driver:
sudo apt purge nvidia-*
sudo apt install nvidia-driver-535 # or whatever version you use
Or for AMD, try:
sudo apt install xserver-xorg-video-amdgpu
Another odd one: if you're using Wayland, GDM3 might fail if the system is old. Edit /etc/gdm3/custom.conf and uncomment WaylandEnable=false. That forces Xorg, which is more stable on older hardware.
I also saw a case where a custom theme broke GDM3. If you installed a GNOME theme from a random website, it could have bad metadata. Remove it from /usr/share/gnome-shell/theme/ or /usr/share/themes/.
Prevention
Don't edit /etc/gdm3/custom.conf unless you know what you're doing. If you do, always test with sudo systemctl restart gdm3 from a TTY before rebooting. Also keep an eye on disk space—set up a cron job to clean logs weekly, like:
0 2 * * 0 /usr/bin/journalctl --vacuum-size=200M
Finally, avoid messing with GNOME themes unless you're sure they're compatible. Stick to GNOME's official extensions and themes.
That's it. GDM3 is fragile but fixable. If none of this works, you might have a deeper issue like a corrupted system file—try sudo apt install --reinstall gdm3 or even reinstall the whole GNOME desktop. But 90% of the time, it's one of the three things above.