GDM-2.30.2

Introduction to GDM

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

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

Package Information

Additional Downloads

GDM Dependencies

Required

GNOME Panel-2.30.2 and Xorg Libraries

Recommended

Optional

Check, UPower-0.9.1, libxklavier-5.0, and TCP Wrappers-7.6

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/gdm

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 -fg 21 gdm &&
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
    -g gdm -s /bin/false gdm  || [ $? == 9 ]

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

patch -Np1 -i ../gdm-2.30.2-fixes-1.patch &&
./configure --prefix=$(pkg-config --variable=prefix ORBit-2.0) \
            --sysconfdir=/etc/gnome/2.30.2 \
            --localstatedir=/var \
            --libexecdir=$(pkg-config \
                --variable=prefix ORBit-2.0)/lib/gdm \
            --with-pam-prefix=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install &&
ln -fsv $(pkg-config --variable=prefix \
    ORBit-2.0)/lib/gnome-settings-daemon-2.0/gnome-settings-daemon $(pkg-config \
    --variable=prefix ORBit-2.0)/lib/gdm &&
ln -fsv /usr/lib/ConsoleKit/ck-get-x11-display-device $(pkg-config \
    --variable=prefix ORBit-2.0)/lib/gdm &&
ln -fsv /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 $(pkg-config \
    --variable=prefix ORBit-2.0)/lib/gdm

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.30.2: This parameter causes the configuration files to be installed in /etc/gnome/2.30.2 instead of $GNOME_PREFIX/etc. Additionally (if applicable), the parameter ensures that the GConf-2 database is correctly updated.

--localstatedir=/var: This command puts files in /var instead of $GNOME_PREFIX/var.

--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.

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

Configuring GDM

Config Files

/etc/gnome/2.30.2/gdm/custom.conf

Configuration Information

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

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    pam_unix.so
auth        requisite   pam_nologin.so
account     required    pam_unix.so
password    required    pam_unix.so
session     required    pam_unix.so

EOF
cat > /etc/pam.d/gdm-autologin << "EOF"
auth        required    pam_env.so
auth        requisite   pam_nologin.so
auth        required    pam_permit.so
account     required    pam_unix.so
password    required    pam_unix.so
session     required    pam_unix.so

EOF

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]
Encoding=UTF-8
Name=GNOME with D-BUS
Comment=GNOME Desktop with D-BUS support
Exec=dbus-launch --exit-with-session gnome-session
TryExec=/usr/bin/dbus-launch
Icon=
Type=Application

EOF
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.

[Note]

Note

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.

[Important]

Important

If the system-wide D-BUS daemon was running during the installation of gdm, ensure you stop and restart the D-BUS daemon before attempting to start gdm.

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-20111226 package. If your GNOME_PREFIX environment variable is anything other than /usr or /opt/gnome-2.30.2, 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 with the following commands.

sed -i 's/id:3:initdefault:/id:5:initdefault:/' \
    /etc/inittab

Contents

Installed Programs: Default, Default.sample, Default, Default, Xsession, gdm, gdm-screenshot, gdmflexiserver, gdm-crash-logger, gdm-factory-slave, gdm-host-chooser, gdm-product-slave, gdm-session-worker, gdm-simple-chooser, gdm-simple-greeter, gdm-simple-slave, gdm-user-switch-applet, gdm-xdmcp-chooser-slave, gdm, gdm-binary, gdm-restart, gdm-safe-restart, and gdm-stop
Installed Libraries: None
Installed Directories: /etc/gnome/2.30.2/gdm/{Init,PostLogin,PostSession,PreSession}, $GNOME_PREFIX/{lib/gdm,share/{gnome/help/gdm/*,omf/gdm, pixmaps/faces}}, /var/{cache/gdm,gdm,lib/gdm/.gconf.mandatory,log/gdm, run/gdm/greeter}

Short Descriptions

gdmflexiserver

is the flexi server mechanism which allows to run GDM sessions on demand, in a new virtual console.

gdm-screenshot

is a screenshot tool.

gdm

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

gdm-binary

is the GNOME based login prompt.

gdm-restart

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

gdm-safe-restart

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

gdm-stop

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

Last updated on 2011-06-08 12:16:49 +0000