Introduction to GDM

The GDM package contains GNOME's Display Manager daemon. This is useful for allowing configurable graphical logins.

Package Information

GDM Dependencies


libgnomecanvas-2.14.0, GNOME Doc Utils-0.6.1, and librsvg-2.14.4


intltool-0.34.2, Zenity-2.14.3, Linux-PAM-, TCP Wrapper-7.6, and OpenAFS

If you configure GDM to offer secure connections to remote machines, you will need to have Zenity-2.14.3, OpenSSH-4.5p1 and which-2.16 installed.

User Notes:

Installation of GDM

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

groupadd -g 21 gdm &&
useradd -c "GDM Daemon Owner" -d /dev/null \
        -g gdm -s /bin/bash -u 21 gdm

Install GDM by running the following commands as an unprivileged user:

./configure --prefix=$(pkg-config --variable=prefix ORBit-2.0) \
            --sysconfdir=/etc/gnome/2.14.3 \
            --localstatedir=/var/lib \
            --libexecdir=$(pkg-config \
                --variable=prefix ORBit-2.0)/lib/gdm \
            --mandir=$(pkg-config \
                --variable=prefix ORBit-2.0)/share/man \
            --with-pam-prefix=/etc &&

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

--prefix=$(pkg-config --variable=prefix ORBit-2.0): Setting the prefix using this parameter instead of with $GNOME_PREFIX will ensure that the prefix is consistent with the installation environment and the package will be installed in the correct location.

--sysconfdir=/etc/gnome/2.14.3: This parameter causes the configuration files to be installed in /etc/gnome/2.14.3 instead of $GNOME_PREFIX/etc. Additionally (if applicable), the parameter ensures that the GConf-2 database is correctly updated.

--localstatedir=/var/lib: This command puts files in /var/lib instead of $GNOME_PREFIX/var. This also has the downside affect of using /var/lib/log/gdm as the log directory. See the “Configuration Information” section below for instructions on relocating the log file directory.

--libexecdir=$(pkg-config --variable=prefix ORBit-2.0)/lib/gdm: This parameter is used so that the GDM internal support programs are installed in the preferred location of $GNOME_PREFIX/lib/gdm instead of $GNOME_PREFIX/libexec.

--mandir=$(pkg-config --variable=prefix ORBit-2.0)/share/man: This parameter causes the man.(X) files to be installed in $GNOME_PREFIX/share/man/man(X) instead of $GNOME_PREFIX/man/man(X).

--with-pam-prefix=/etc: This command puts PAM configuration files in /etc/pam.d instead of /etc/gnome/2.14.3.

Configuring GDM

Config Files

/etc/gnome/2.14.3/gdm/custom.conf, $GNOME_PREFIX/share/gdm/defaults.conf

Configuration Information

Starting with the 2.14.x version of GNOME, the default configuration parameters are stored in a static file ($GNOME_PREFIX/share/gdm/defaults.conf). This file is not intended to be edited. If modification of the configuration is necessary, you should add parameters to the /etc/gnome/2.14.3/gdm/custom.conf file. The settings in this file will override the settings in the static file. The same parameters in the static file are used in the configuration file.

Change the directory containing the GDM log files to the /var/log hierarchy by creating a directory and modifying the /etc/gnome/2.14.3/gdm/custom.conf configuration file. Issue the following commands as the root user:

install -v -m755 -d /var/log/gdm &&
sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \
    /etc/gnome/2.14.3/gdm/custom.conf &&
rmdir -v /var/lib/log/gdm &&
rmdir -v /var/lib/log

The GDM PAM configuration files contain modules not present in a BLFS installation. If you have PAM installed, issue the following commands as the root user to replace those files with files containing correctly specified modules:

cat > /etc/pam.d/gdm << "EOF"
auth        required
auth        required
account     required
password    required
session     required

cat > /etc/pam.d/gdm-autologin << "EOF"
auth        required
auth        required
auth        required
account     required
password    required
session     required


If you have D-BUS installed and you want to start the session D-BUS daemon when you start the GNOME desktop environment using gdm, you'll need to create a new Xsession file. Create the file using the following command as the root user.

cat > $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop << "EOF"
[Desktop Entry]
Name=GNOME with D-BUS
Comment=GNOME Desktop with D-BUS support
Exec=dbus-launch --exit-with-session gnome-session

chmod -v 644 $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop

Choose this session using the session selection dialog on the display manager login screen. You also have the opportunity to make this your default session.



You may use the .desktop file created above as an example to create additional .desktop files and add any other desired items to the GDM display manager session selection menu.

gdm can be tested by executing it as the root user. Use the gdm-stop command if you wish to stop the display manager.

Boot Script

To start a graphical login when the system is booted, install the /etc/rc.d/init.d/gdm init script included in the blfs-bootscripts-20060910 package. If your GNOME_PREFIX environment variable is anything other than /usr or /opt/gnome-2.14.3, you will need to modify the PATH statement in the script to include the path where you have GNOME installed.

make install-gdm

Now edit /etc/inittab so that the line containing:


is changed to:



Installed Programs: gdm, gdm-binary, gdm-dmx-reconnect-proxy, gdm-restart, gdm-safe-restart, gdm-stop, gdmXnest, gdmXnestchooser, gdmdynamic, gdmflexiserver, gdmphotosetup, gdmsetup, and gdmthemetester
Installed Libraries: lib*mouselistener.{so,a} GTK+ modules
Installed Directories: /etc/gnome/2.14.3/{,g}dm, /var/lib/gdm, /var/log/gdm and the following directories in $GNOME_PREFIX/: share/{,gnome/help/ ,omf/}gdm

Short Descriptions


is a wrapper script to execute the GDM binary, the configurable GNOME based login prompt.


sends the HUP signal to the GDM daemon so that it restarts. It's used after the config file is edited


sends the USR1 signal to the GDM daemon so that it restarts. It's used after the config file is edited.


is a graphical interface to edit the gdm.conf file.

Last updated on 2007-01-14 12:11:18 -0600