gdm
Manages graphical user logins
TLDR
Run the GNOME Display Manager application
Prevent gdm from being run as a daemon background process
Disable gdm management of local console X servers for headless or remote environments
Prevent sanitizing environment variables that start with $LD_
Display help
Display version
SYNOPSIS
gdm [OPTION…]
PARAMETERS
--help
Print command line options and exit.
--version
Print version information and exit.
--nodaemon
Run as foreground process, not daemon.
--replace
Replace running display manager instance.
--test-mode[=wayland|x11]
Run in test mode without full daemon startup.
--verbose
Enable verbose logging output.
--log-verbose
Increase logging verbosity for debugging.
--run-script=SCRIPT
Execute custom script instead of GDM.
DESCRIPTION
GDM, the GNOME Display Manager, is the default display manager for the GNOME desktop environment on Linux systems. It provides a graphical login interface, allowing users to select sessions (X11 or Wayland), enter credentials, and launch desktop environments securely.
GDM handles the initial boot into a graphical mode, managing multiple local displays and remote logins via XDMCP. It supports features like automatic login, user switching, accessibility options, and theming. Configuration is primarily through /etc/gdm/ files like custom.conf, with dconf for advanced settings.
Unlike traditional XDM, GDM integrates deeply with GNOME, using systemd-logind for session management and Mutter for Wayland compositing. It's invoked automatically by systemd on boot (via gdm.service), but can be run manually for testing or replacement. GDM ensures secure transitions from console to GUI, isolating user sessions and enforcing policies like screen locking.
For administrators, GDM offers flexibility in customizing logos, backgrounds, and scripts via Init/Default and PostLogin/Default. It's lightweight yet feature-rich, supporting NVIDIA/AMD/Intel drivers seamlessly.
CAVEATS
Requires root privileges for most operations; not intended for interactive user use. Managed via systemctl (e.g., systemctl restart gdm). Direct invocation may disrupt running sessions or require --replace. Wayland mode needs compatible GPU drivers.
CONFIGURATION
Edit /etc/gdm/custom.conf for daemon, security, and user settings. Use gdm-settings GUI tool where available.
LOGS
Check /var/log/gdm/*.log or journalctl -u gdm for troubleshooting.
HISTORY
Developed since 1997 as part of GNOME project to replace xdm. Major rewrites in GNOME 2 (2002) for GTK integration, GNOME 3 (2011) for Mutter/Wayland support. Current version (43+) focuses on Wayland by default, systemd integration since 2010s.


