Gentoo Wiki









GDM is the GNOME Display Manager, it is the little program that runs in the background, runs your X sessions, presents you with a login box and then tells you to go away because you forgot your password. It does pretty much everything that you would want to use xdm for, but doesn't involve as much crack. It doesn't use any code from xdm, and has a more paranoid and safer design overall. It also includes many features over xdm, the biggest one of which is that it is more user friendly, even if your X setup is failing. The goal is that users should never, ever have to use the command line to customize or troubleshoot GDM.


you should have X properly running and gnome in working order. Now install [[Ebuild:gnome-base/gdm|gdm}}:

emerge -a gdm

For eyecandy also install:

emerge -a gdm-themes ximian-artwork redhat-artwork

System Configuration

you want to edit your /etc/conf.d/xdm or /etc/rc.conf to let it know to use GDM as the display manager

File: /etc/conf.d/xdm

...... skipped to important stuff .....

# What display manager do you use ?  [ xdm | gdm | kdm | entrance ]

Add xdm to run-level (note that it's "xdm" here even if you're using gdm, kdm, etc.):

rc-update add xdm default

It's possible to boot into text login avoiding graphical login manager. You have to create new runlevel without xdm started.

Gtk+ theme change

in /etc/X11/gdm/custom.conf you have to change variable GtkRC and maybe GtkTheme


and relogin.

GUI configuration

All shared themes for GDM are stored in /usr/share/gdm/themes/

If you can't use some themes for gdm, check if you have emerge gtk+ with jpeg USE flag

echo "x11-libs/gtk+ jpeg" >> /etc/portage/package.use
emerge -vat --oneshot gtk+

To use the GDM setup GUI run the following command as root


If you want to see how Avio-GDM theme will look you can run

gdmthemetester console Avio-GDM

General Tab

here you can set layout type - automatic log-in - log-in timeouts - welcome text

the only important thing in this section is "Greeter". If you want a nice log-in screen with lots of graphics you want the local set to "Graphical greeter" but if you want just a generic low memory usage log-in set it to "Standard Greeter"

GTK+ Greeter

this is your basic log-in screen configuration. (The tab is called "Standard Greeter" in GDM <2.8

Themed Greeter

This is where you can choose your nice pretty log-in theme or install a new one from: (The tab is called "Graphical Greeter" in GDM <2.8)


all default settings are fine


play sound when gdm is loaded


XDMCP stands for "X Display Manager Control Protocol" and is a network protocol. It provides a way of running the X-Terminal to run on your PC (or Mac) and it uses the X Server to provide a client/server interface between display hardware (the mouse, keyboard, and video displays) and the desktop environment while also providing both the windowing infrastructure and a standardized application interface (quoted from XFree86 Project home page). The X-Terminal can be displayed with an individual window or multiple windows, based on your X window system's software capabilities and setup.

This would be used for remote log-ins. See Thomas Chao : Linux XDMCP HOWTO for more info.

Selecting a Window Manager

After a successful login, the /etc/X11/gdm/Xsession script will execute the file $HOME/.Xclients. Users can define this script to launch their favorite window manager and X applications. When this script exits the user is logged out.

File: Sample $HOME/.Xclients File
fvwm &

\* I had troubles with get into Gnome desktop. These errors appear in ~user/.xsession-errors:

        /etc/X11/gdm/Xsession: Cannot find Xclients
        /etc/X11/gdm/Xsession: Setup done, will execute: /usr/bin/ssh-agent -- xsm
        xsm: No such file or directory

This problem is usually caused by the fact that ~/.Xclients is expected to be executable. If it is not, then the default is to try "xsm" which never works, causing this error. The solutions is to run "chmod +x ~/.Xclients" which will make the file executable.


Reboot the system and when it starts up you will see the GDM login screen. Starting the xdm init script will have the same result:

/etc/init.d/xdm start


Can't find the gdm user

This problem occurs when the user 'gdm' and the group 'gdm' are not found in /etc/{passwd,group}, respectively. Solution:

Code: Add the gdm user / group
for i in passwd group; do 
  # this will remove any previous and / or incorrectly 
  # configured gdm user or group
  grep "^gdm" /etc/${i} > /etc/${i}_tmp && \
    mv /etc/${i}_tmp /etc/${i}
# add the gdm group and then the user
groupadd gdm
useradd -g gdm -s /sbin/nologin

See also

Retrieved from ""

Last modified: Sat, 06 Sep 2008 12:12:00 +0000 Hits: 15,951