Introduction
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.
Emerging
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 ] DISPLAYMANAGER="gdm" |
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
GtkRC=/usr/share/themes/Glossy/gtk-2.0/gtkrc GtkTheme=Glossy
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
gdmsetup
If you want to see how Avio-GDM theme will look you can run
gdmthemetester console Avio-GDM
http://www.gnome.org/projects/gdm/docs/2.16/thememanual.html
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: gnome-look.org (The tab is called "Graphical Greeter" in GDM <2.8)
Security
all default settings are fine
Accessibility
play sound when gdm is loaded
XDMCP
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 & xterm |
\* 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
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
Troubleshooting
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} done # add the gdm group and then the user groupadd gdm useradd -g gdm -s /sbin/nologin |