Translation(s): English - español -Français - Italiano
GDM is the GNOME Display Manager, a graphical login program that uses Wayland or the X Window System.
In addition to being a GUI alternative to the console login prompt, GDM has the following advantages:
it pre-loads the X Window System (though this can be a disadvantage for servers)
users can select various desktop environments and windows managers on a per-login basis
- assistance for users with disabilities
- per-login regional settings and keyboard layout
- consistent look and feel of other GTK/GNOME-themed applications
- all other functionalities of XDM, including XDMCP support for managing remote displays
By default, the greeter is run as an unprivileged user and logging in as root is forbidden.
Contents
Controlling the GDM daemon
GDM is a service that can, like all other services in your system, be controlled with the systemctl command.
To temporarily stop GDM:
$ systemctl stop gdm
To see the status of GDM:
$ systemctl status gdm
To start GDM manually:
$ systemctl start gdm
To set your system to always boot to a console rather than GDM:
$ systemctl set-default multi-user.target
To revert the previous command and have your system always boot straight into GDM:
$ systemctl set-default graphical.target
To check the current boot target:
$ systemctl get-default
Configuration
Disabling Wayland
In Debian 10 and newer, GDM will use Wayland by default on supported hardware. This can be overridden in the /etc/gdm3/daemon.conf file by uncommenting the WaylandEnable=false line, forcing it to instead use X11.
Customizing the GDM appearance
GDM v3.0+ allows for some basic customization, such as changing the logo icon, display background, and GTK theme. To do so:
Edit /etc/gdm3/greeter.dconf-defaults as root
- Uncomment and/or modify the desired settings
- Save and close the editor
Finally, run as root: dpkg-reconfigure gdm3
The command 'dpkg-reconfigure gdm3' will cause gdm to reload its configuration upon the next logout or reboot.
Note: When changing the background image, the target file must be world-readable.
Removing autologin in gdm3 and getting more verbose output in GDM
This is with respect to GDM3 as it's known in GNOME 3 and above.
$ dpkg -S /etc/gdm3/daemon.conf gdm3: /etc/gdm3/daemon.conf
This is just to have an idea of the ownership of the file.
Now the file would look something like this :-
$ cat /etc/gdm3/daemon.conf # GDM configuration storage # # See /usr/share/gdm/gdm.schemas for a list of available options. [daemon] # Enabling automatic login AutomaticLoginEnable=true AutomaticLogin=$USERNAME # Enabling timed login # TimedLoginEnable = true # TimedLogin = user1 # TimedLoginDelay = 10 # Reserving more VTs for test consoles (default is 7) # FirstVT = 9 [security] [xdmcp] [greeter] # Only include selected logins in the greeter # IncludeAll = false # Include = user1,user2 [chooser] [debug] # More verbose logs # Additionally lets the X server dump core if it crashes Enable = false
Now at times if you remove the user you just cannot go into the DE esp. if only a user is automatically logged in. This is and should be a bug but that's another tale. Anyways the way to fix it is simple.
$ cat /etc/gdm3/daemon.conf # GDM configuration storage # # See /usr/share/gdm/gdm.schemas for a list of available options. [daemon] # Enabling automatic login AutomaticLoginEnable=false # Enabling timed login # TimedLoginEnable = true # TimedLogin = user1 # TimedLoginDelay = 10 # Reserving more VTs for test consoles (default is 7) # FirstVT = 9 [security] [xdmcp] [greeter] # Only include selected logins in the greeter # IncludeAll = false # Include = user1,user2 [chooser] [debug] # More verbose logs # Additionally lets the X server dump core if it crashes Enable = true
I just added the bits which should help us in case anything does go wrong.