Translation(s): English - Français - Italiano


GDM is the GNOME Display Manager, a graphical login program that uses the X Window System.


In addition to being a GUI alternative to the console login prompt, GDM has the following advantages:

By default, the greeter is run as an unprivileged user and logging in as root is forbidden.

Controlling the GDM daemon

To temporarily stop the gdm service, you can run the following command as root:

#invoke-rc.d gdm3 stop

Other available options include: start, restart, reload and force-reload. For more information about general daemon management, see Daemon.

systemd

To use systemd commands for controlling gdm.

Temporarily stop gdm.

# systemctl stop gdm

See status of gdm

# systemctl status gdm

Start gdm

# systemctl start gdm

To disable gdm3 the usual systemd command 'systemctl disable gdm' doesn't work as the 'gdm.service' is loaded as static. By editing:
/etc/X11/default-display-manager
and changing
/usr/sbin/gdm3
to
#/usr/sbin/gdm3
Will prevent gdm3 from loading on startup.

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:

  1. Edit /etc/gdm3/greeter.gconf-defaults as root

  2. Uncomment and/or modify the desired settings
  3. Save and close the editor
  4. 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.

See also


CategoryBootProcess