%general-entities; ]> $LastChangedBy$ $Date$ GDM-&gdm-version; GDM Introduction to GDM The GDM package contains GNOME's Display Manager daemon. This is useful for allowing configurable graphical logins. &lfs70_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &gdm-md5sum; Download size: &gdm-size; Estimated disk space required: &gdm-buildsize; Estimated build time: &gdm-time; GDM Dependencies Required , , , and Recommended (Required for Shutdown/Restart functionality) and Optional (required to run the testsuite), , , and 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 -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: ./configure --prefix=$GNOME_PREFIX \ --sysconfdir=$GNOME_SYSCONFDIR \ --libexecdir=$GNOME_PREFIX/lib/gdm \ --localstatedir=/var \ --with-pam-prefix=/etc \ --enable-static=no && make If you have installed and you wish to run the testsuite, issue: make check. Now, as the root user: make install && ln -fsv $GNOME_PREFIX/lib/gnome-settings-daemon/gnome-settings-daemon \ $GNOME_PREFIX/lib/gdm && ln -fsv /usr/lib/ConsoleKit/ck-get-x11-display-device \ $GNOME_PREFIX/lib/gdm && ln -fsv /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 \ $GNOME_PREFIX/lib/gdm && ln -fsv /usr/lib/gnome-session/gnome-session-check-accelerated \ $GNOME_PREFIX/lib/gdm If your GNOME_SYSCONFDIR is not simply /etc then you need to create some more symlinks so that the menus and some .desktop files (in particular gnome-settings-daemon.desktop) will be found, because XDG_CONFIG_DIRS is not respected when gdm invokes gnome-session. Run the following commands, still as the root user: ln -sfv $GNOME_SYSCONFDIR/xdg/menus /etc/xdg && pushd $GNOME_SYSCONFDIR/xdg/autostart && FILES=`ls` && popd && for F in $FILES; do ln -sfv $GNOME_SYSCONFDIR/xdg/autostart/$F /etc/xdg/autostart done Command Explanations --libexecdir=$GNOME_PREFIX/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. --localstatedir=/var: This command puts files in /var instead of $GNOME_PREFIX/var. --with-pam-prefix=/etc: This command puts PAM configuration files in /etc/pam.d instead of $GNOME_SYSCONFDIR. --enable-static=no: This switch prevents the static libraries being installed. ln -fsv $GNOME_PREFIX/lib/gnome-settings-daemon/...: these three symlinks allow the shutdown/restart functions in gdm to work. Configuring GDM Config Files $GNOME_SYSCONFDIR/gdm/custom.conf $GNOME_SYSCONFDIR/gdm/custom.conf Configuration Information The GDM daemon is configured using the $GNOME_SYSCONFDIR/gdm/custom.conf file. Default values are stored in GConf in the gdm.schemas file. It is recommended that end-users modify the $GNOME_SYSCONFDIR/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. 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_env.so auth required pam_unix.so account required pam_nologin.so account required pam_unix.so password required pam_unix.so session optional pam_keyinit.so force revoke session required pam_unix.so session required pam_loginuid.so session optional pam_console.so EOF chmod -v 644 /etc/pam.d/gdm cat > /etc/pam.d/gdm-autologin << "EOF" auth required pam_env.so auth required pam_permit.so account required pam_nologin.so account required pam_unix.so password required pam_unix.so session optional pam_keyinit.so force revoke session required pam_unix.so session required pam_loginuid.so session optional pam_console.so EOF chmod -v 644 /etc/pam.d/gdm-autologin cat > /etc/pam.d/gdm-welcome << "EOF" auth required pam_env.so auth required pam_permit.so account required pam_nologin.so account required pam_unix.so password required pam_unix.so session required pam_loginuid.so session optional pam_keyinit.so force revoke session required pam_unix.so EOF chmod -v 644 /etc/pam.d/gdm-welcome /etc/pam.d/gdm /etc/pam.d/gdm-autologin The shipped gnome.desktop file does not start the session D-BUS daemon, and as a result not all the files required by a GNOME window manager will be found. You can create a new Xsession 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. After you have compared the results from using these two different files, and particularly if the translations in the shipped file are useful to you, you can edit the Exec and TryExec commands in the provided gnome.desktop file. Alternatively, you can delete it if you find it useless. 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. 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. If you wish to stop it you will need to go to a different tty and then kill it. 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 package. If your GNOME_PREFIX environment variable is anything other than /usr or /opt/gnome-&gnome-version;&gnome-minor-version;, you will need to modify the PATH statement in the script to include the path where you have GNOME installed. gdm 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 Installed Libraries Installed Directories 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, and gdm-binary libfingerprint.so, libpassword.so, libsmartcard.so $GNOME_SYSCONFDIR/{dbus-1/system.d.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. gdmflexiserver gdm-screenshot is a screenshot tool. gdm-screenshot gdm is a wrapper script to execute the GDM binary, the configurable GNOME based login prompt. gdm gdm-binary is the GNOME based login prompt. gdm-binary