Introduction to GDM

GDM is a system service that is responsible for providing graphical logins and managing local and remote displays.

This package is known to build and work properly using an LFS-11.0 platform.

Package Information

GDM Dependencies


AccountsService-0.6.55, GTK+-3.24.30, ISO Codes-4.7.0, itstool-2.0.6, libcanberra-0.30, libdaemon-0.14, and Linux-PAM-1.5.1



Runtime Dependencies

gnome-session-40.1.1, gnome-shell-40.4, and elogind-246.10

User Notes:

Installation of GDM

It is recommended to have a dedicated user and group to take control of the gdm daemon after it is started. Issue the following commands as the root user:

groupadd -g 21 gdm &&
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm &&
passwd -ql gdm

First, adapt GDM to build without systemd present:

sed -i -r '/(^| )systemd_dep/d'

Install GDM by running the following commands:

sed 's@systemd@elogind@' -i data/pam-lfs/gdm-launch-environment.pam &&

mkdir build &&
cd    build &&

meson --prefix=/usr               \
      --buildtype=release         \
      -Dgdm-xsession=true         \
      -Dsystemd-journal=false     \
      -Dsystemdsystemunitdir=/tmp \
      -Dsystemduserunitdir=/tmp   .. &&

This package does not come with a usable test suite.

Now, as the root user:

ninja install &&
rm -rv /tmp/*.{service,target.d}

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dinitial-vt=7: Use this switch to make GDM start on VT7 instead of the first free VT.

-Ddefault-pam-config=lfs: Use this switch if you did not create the /etc/lfs-release file or distribution auto detection will fail and you will be unable to use GDM.

-Dgdm-xsession=true: This enables the installation of the GDM Xsession file.

Configuring GDM

Config Files


Configuration Information

The GDM daemon is configured using the /etc/gdm/custom.conf file. Default values are stored in GSettings in the gdm.schemas file. It is recommended that end-users modify the /etc/gdm/custom.conf file because the schemas file may be overwritten when the user updates their system to have a newer version of GDM.

Boot Script

To start gdm automatically when the system is switched to runlevel 5, install the /etc/rc.d/init.d/xdm script and the /etc/sysconfig/xdm configuration file included in the blfs-bootscripts-20210826 package and adjust /etc/inittab by running as the root user:

make install-gdm

In order to permanently set the default runlevel to 5, starting the gdm greeter screen automatically, you can modify /etc/inittab. As the root user:

sed /initdefault/s/3/5/ -i /etc/inittab


Installed Programs: gdm, gdmflexiserver, and gdm-screenshot
Installed Libraries: and (PAM Module)
Installed Directories: /etc/gdm, /usr/include/gdm, /usr/share/gdm, /usr/share/help/*/gdm, /var/cache/gdm, /var/lib/gdm, /var/log/gdm, and /var/run/gdm

Short Descriptions


is a login prompt for GNOME


is a screenshot tool for GDM

Last updated on