Gnome Display Manager usage with the Linux Terminal Server Project
May 7 2002 updated for gdm-2.2.5.5
This Howto addresses the use of the Gnome Display Manager (gdm) with the LTSP project to provide a more modern graphical login to the LTSP. GDM has many advantages over XDM and you should really read the fine reference by Martin K. Peterson. I will assume that the reader knows how to set up a server for disk-less workstation booting. Also assumed is the current version of LTSP and a working Redhat 6.2 thru 7.1 server.
About GDM
GDM is the Gnome Display Manager. It has the same basic functionality of XDM or KDM. GDM uses the same GiveConsole TakeConsole and Xsetup_0 as xdm, these can be symlink from /gdm/PreSession/Default, /gdm/PostSession/Default and /gdm/Init/Default or can be located in those directories. If you want to use the face browser you'll need to put a picture in a users /home/ username /.gnome directory named photo (no file extension) in jpeg, xpm, gif type format, also size the picture small enough. There is a gui configuration tool for gdm named gdmconfig, although it seems to be missing in some gnome releases.
An interesing use for GDM
One really big difference between GDM and XDM is that xdm grabs the keyboard focus and gdm does not, at least as of version 2.2.5.5. Using gdm allows you to set up a kiosk style terminal very easily, just add a line near the top of Xsetup_0 or /gdm/Init/default, whichever your gdm uses, that starts a program i.e xterm -e netscape. That will start an xterm and run netscape before gdm starts and keep the gdm login screen from starting until the program started by the xterm exits. Please note that xdmcp is a display manager not a window manager and any programs that are started will not have the wm widgets (decorations) attached.
GDM Display Manager setup
The first thing to do is to setup the Gnome Display Manager. This turned out to be very easy to do since I already had learned how to customize XDM. Please read and understand how to setup and customize XDM if you don't already know how to do this ( this is a must because GDM uses some of XDM's config files - Xsetup_0). Also you must have a working XDM for your workstations, again because GDM uses some of the config files from XDM. You must edit the GDM config file /etc/X11/gdm/gdm.conf. The gdm config file is very orderly and easy to understand, most options are 0 for off or 1 for on in older gdm versions and false for off or true for on in newer gdm versions. Stay with the format your gdm.conf file uses . The file is mostly configured correctly but needs a few options turned on:
- in the [security] section make AllowRoot=1
- in the [xdmcp] section make Enable=1
- in the [chooser] section make Broadcast=true if you want your clients to display the Host Chooser. This option is really only usefull if you have more than 1 terminal server that your users can log into.
The above is the minimum to get gdm to work for diskless workstations.
- You should really look at the [greeter] section. I like the Quiver=1 option. Also of interest in the [greeter] section is Browser=1 option which enables the face browser. The face Browser displays a chooser style login with pictures of your users or an icon and supports jpeg, gif, tiff, xpm and other formats. The face browser may not be a good idea on large installations, but it is an attractive feature anyway. Also the Browser lets you limit what users see by using the Exclude option.
- Please pay attention to the [xdmcp] section. Look at the MaxSessions option to be sure that there are enough sessions enabled for your installation.
- There is a gui config tool for gdm - gdmconfig.
- I found the documentation for GDM at the gnome.org site. You can get everything needed for GDM at http://www.gnome.org
Putting it all together
If you have correctly modified the above mentioned files all that is left to do is start gdm and boot a workstation. If you had xdm working gdm will work. GOOD LUCK and let me know of any new twists that you find so they may be shared in future updates to this howto.
- First kill XDM. After stopping xdm you need to start gdm: #bash:gdm. Something to note here is that you don't need the server to be in runlevel5 to use the graphical logins, you just need to turn them on ( after proper configuration ). XDM does not always want to be completely killed on my system - reboot to insure the death of xdm. Also start gdm before any other window manager.
- Boot a workstation and gdm should come-up as the login display manager.
Some Points of Interest: aka troubleshooting
- You may want to enable verbose reporting in the [debug] section Enable=1. You can then look at your messages log to help find what is wrong, if you have problems.
- If you want to use the face browser to display a picture of users in the login screem, set Browser=1 in the [greeter] section of the gdm.conf file. When this option is set to =1 gdm will look in /home/username/.gnome for a file named photo ( without a file extension ) that is in jpeg, xpm, gif and maybe other formats. If this photo is found it is displayed in the face browser portion of the gdm window. If no photo file is found then the default is to display a head.xpm icon
- If you want to diplay the Host Chooser, in order to allow logins to more than 1 terminal server, in the [chooser] section make Broadcast=true. Also make sure the rc.local script in the /tftpboot/lts/etc/ directory is calling for an -indirect instead of -query in the Build the start_ws script section. Note the -query in the first line below and the -indirect in the second line below:
echo "/usr/X11R6/bin/${XSERVER} -ac -query ${XDM_SERVER}" >/tmp/start_ws
echo "/usr/X11R6/bin/${XSERVER} -ac -indirect ${XDM_SERVER}" >/tmp/start_ws
- It seems that some of the options in the gdm.conf file don't work, at least not as expected.
- Remember - depending on version and vendor some of the config files for xdm are used by gdm, of note is the Xsetup_0 file. LTSP uses Setup_workstation_0 file for customization of xdm but gdm uses Xsetup_0 only, as far as I have found - so far.
- Again gdm uses some of the files found in the /xdm directory on the server. Xaccess, Xresources and who knows what else. Until more is known about gdm just make sure that xdm works before you setup gdm. This may save you some frustration.
- Other login display managers should work just as well. Just make sure that you kill any and all display managers before (X,GDM,XDM,KDM) starting the xdmcp display manager of your choice! KDM worked for me without any config changes.
- XDM does not always let go of it's xdmcp port(177) when killed. This will cause gdm to not be able to use that port and not be able to answer requests. If GDM starts but does not seem to work then make sure to reboot into runlevel3 without xdm then start gdm.
- This is a third draft and may include some errors and/or omissions. Please report to the author any that you find. Also if you feel something should be added feel free to let the author know.
Links of interest
Gnome Display Manager. Everything you need for gdm can be found here
http://www.gnome.org
Credits
* Martin K. Peterson for all his effort on gdm.
http://www.gnome.org
* Jim McQuillan for his excellent LTSP project
www.ltsp.org
* Jim Massey - author of this howto
mailto:massey@stlouis-shopper.com