Thinking Thin

Connecting thin clients to Linux.
Terminal Server Configuration

Start by installing your distribution of choice. The specific file locations given below are for Fedora 5. Most distributions install only one DE by default, so make sure to select the desired DE during installation. Although many distributions, including Fedora, give the choice of GNOME or KDE, some have opted to provide only one DE.

GNOME and KDE coexist well. One is set as the system default, but both GDM and KDM allow you to select GNOME or KDE desktops on the fly for each login. The system default DM, on the other hand, is the only DM that will be used.

To select the system default DE and DM, edit /etc/sysconfig/desktop. It should have only two lines:


DE is either GNOME or KDE, and DM is either XDM, GNOME or KDE.

If the system does not automatically boot to a graphical login, change the default runlevel (initdefault) to 5 in /etc/inittab.

To use a font server, run ntsysv and select xfs to run at boot. Also, configure xfs by editing /etc/X11/fs/config and remove the line no-listen = tcp to allow outside connections to xfs.

KDM is configured using the file /etc/kde/kdm/kdmrc, which is in INI format. To allow remote connections, set Enable=true in the Xdmcp section. You probably also will want to customize the X-*-Greeter section, which controls the appearance of the login screen. Note that if the UseTheme parameter is true, many other parameters in this section will be overridden. KDM also can be configured using the KDE Control Panel, but it loses all the comments in kdmrc. I prefer to edit kdmrc directly.

GDM also has an INI format configuration file (/etc/gdm/custom.conf). Simply set Enable=true in the xdmcp section. The GDM configuration file is not heavily annotated, so the GUI configuration tool gdmsetup may be preferable. Run gdmsetup locally on the terminal server. On the Remote tab, change Style to Plain, Plain with face browser or Same as local. If in doubt, choose Plain.

For any DM, access is controlled by the file /etc/X11/xdm/Xaccess. Simply add the IP address or DNS name of each allowed host. A * on a line by itself will allow connections from any host.

This is everything necessary to allow a thin client to log in to a desktop on the terminal server, but more server configuration will be necessary later to access local thin-client hardware beyond KVM.

Connecting with X

A thin client is not the only way to access the XDMCP server. Client software also can be run from a workstation. You can access either a desktop or directly run applications.

If X is not currently running, the following command provides a login to a remote desktop on a terminal server host:

   X -query host

If X is already running, the same command also will work, with the local desktop and the remote desktops being on separate virtual terminals (VTs). To open the remote desktop in a window, use:

   Xnest -query host

If either of these give the error “Server is already active for display 0”, select a different display number by adding :1 as the first option.

To run an X application remotely without a desktop, use:

   ssh -X -l username host

to log in, and then run the application from the command line. The ssh option -C will add compression for slow connections.

If your workstation has tsclient installed, this provides a GUI front end for Xnest as well as client software for other protocols.

Most of the above functionality can be added to an MS Windows workstation by installing Cygwin. When installing Cygwin, add the package X11/xorg-x11-xwin to the default installation. Also, add Net/openssh if you want to use SSH. The above commands should then work in a Cygwin shell. For SSH, run startx first, then run ssh in the X terminal window that it creates.

Thin Client to a Terminal Server

Thin clients provide GUI tools that make basic network configuration similar to any other network appliance. Beyond the basic configuration, these tools allow the creation of sessions. A session defines the server to access and the protocol to use. XDMCP can be a session, but because the thin client is running X natively, connecting to an XDMCP server might be a basic display configuration setting. How this is done depends on the manufacturer. Other protocols are always configured as sessions.

The configuration details below were tested on an Igel 364 LX. They should be general enough to work with any thin client with ESD and NFS server capabilities, but these are not features that should be assumed.