- How Thin Clients Work
- DHCP
- A Trivial Primer On TFTP
- LTSP 4.0 Installation Procedures
- XDMCP
- Help Me!
- Resources
LTSP 4.0 Installation Procedures
We now have all of the pieces we need to install the heart of a Linux thin-client installation. That heart is the Linux Terminal Server Project packages available at www.ltsp.org. To install the LTSP 4.0 packages, you need to switch to the root user first.
su - root
Running as the root user, use this command to begin the LTSP server installation:
wget -q -O - http://www.ltsp.org/ltsp_installer | sh
After you press <Enter>, you will see a menu much like this one:
LTSP Installer - v0.06 Welcome to the LTSP Installer. This program will retrieve the LTSP packages and install them for you. Please select where you want to retrieve the packages from: 1) http://www.ltsp.org 2) Local disk (current directory) q) Quit installation Make a selection: 1
Because you are going to be installing from the web site, selecting Option 1 probably makes sense. This also ensures that you will be running from the latest version. After a few seconds (or minutes), the install script finishes downloading and the following menu will appear:
LTSP Installer - v0.06 Select which group of packages you want to install: 1) ltsp Linux Terminal Server Project - Version 4 Make a selection (Q=Quit):
Given that we have only one option here, the choice is simple. Type 1, and press <Enter>.
LTSP Installer - v0.06 This group contains more than 1 component, which component do you want to install: 1) ltsp_core Core packages of LTSP 2) ltsp_debug_tools Debugging tools for LTSP 3) ltsp_x_core XFree86 packages 4) ltsp_x_addtl_fonts Additional fonts 5) ltsp_x336 Older XFree86 version 3.3.6 Xservers 6) ltsp_rdesktop Rdesktop setup as a Screen Script Make a selection (Q=Quit, A=All):
Unless you have good reason to do otherwise, select A for All and press <Enter>.
Are you sure you want to install ALL components?
The answer is Y for Yes. After you press <Enter> one more time, you are asked for the LTSP installation directory. The default is /opt/ltsp, but you can select any part of the system where you have sufficient space. I'll continue the installation information using the default directory structure. Should you choose otherwise, take this into consideration as you read on.
One by one, each of the component packages is downloaded and installed. How long this takes depends largely on the speed of your Internet connection.
And Then… The Kernel
This download step provides you with most of the pieces you need, but it does leave out one very important one: the kernel. Your best bet is to select the latest kernel from the LTSP Sourceforge download page. As I write this, the latest package is ltsp_kernel-3.0.13-0.i386.rpm. The package is a simple RPM install, but Debian and TGZ format packages are available as well. On my current, RPM-based test system, I installed the kernel like this:
# rpm -Uvh ltsp_kernel-3.0.13-0.i386.rpm Preparing... ########################################### [100%] 1:ltsp_kernel ########################################### [100%]
That pretty much covers all of the pieces necessary for a working LTSP installation. By this point, you should have a working NFS, DHCP, and TFTP server running on what will be your LTSP server. On to the next step.
Configuring LTSP 4
Once everything is installed, it's time to configure your system. There is no part of the LTSP configuration that cannot be done manually, but the people working on the Linux Terminal Server Project have tried to simplify that process as well by providing the ltspcfg configuration utility. This is separate from the main LTSP distribution, and you must install it separately. Download the package from the LTSP web site, then install it using:
rpm -Uvh ltspcfg-0.5-0.i386.rpm
After the installation completes, run the utility by opening a root shell and typing ltspcfg.
# ltspcfg ltspcfg - Version 0.5 Checking Runlevel....: 5 Checking Ethernet Interfaces Checking Dhcpd.... Checking Tftpd.... Checking Portmapper... Checking nfs.... Checking xdmcp...........Found: xdm, gdm, [kdm] Checking /etc/hosts. Checking /etc/hosts.allow. Checking /etc/exports. Checking lts.conf. Press <enter> to continue..
When you press <Enter>, a ncurses-based administration interface appears (Figure 20-1). In order to run thin clients using LTSP, several services need to be running: DHCP, TFTP, NFS (which includes the portmapper), and a login manager (most likely KDM). Look at the top part of the ltspcfg window to check whether the services are installed, enabled, and running.
Figure 20-1 Checking the status of your LTSP configuration.
If there are things that still need to be installed (your TFTP server, for instance), simply quit the configuration utility, make your changes and run it again until you are ready to proceed. When everything is ready, choose C from the main ltspcfg menu to manually configure various services. When you press <Enter>, you'll see the various options laid out as in Figure 20-2.
Figure 20-2 The main LTSP configuration menu.
Take a look at item number 1. To serve up the graphical login manager, your system should be running at level 5. This modifies the initdefault line in your /etc/inittab file to 5 (should you prefer to do this manually).
id:5:initdefault:
So what does this really do? Well, if you aren't booting up into a graphical desktop, the 5 above will be a 3, which tells the system to boot up in text-only mode. To see where that happens and what that has to do with runlevels, scroll down in your /etc/inittab file and look near the bottom. You should see something like this:
# Run xdm in runlevel 5 # xdm is now a seperate service x:5:respawn:/etc/X11/prefdm -nodaemon
The second item on the configuration menu is Interface Selection. If your system has more than one network interface card, you need to identify which of those interfaces the thin-client workstations will be connected to. My test system had three interfaces configured (Figure 20-3). On systems with both inside and outside interfaces, you'll most likely want to configure the private subnet interface.
Figure 20-3 Which interface will your thin clients connect to?
You may be interested where this information is used. Much of LTSP's internal configurations are handled in an lts.conf file, which is created at this time under the /etc directory. If you look at the file at this point, you'll notice that it is still pretty light, containing only two important parameters:
# Configuration variables for LTSP # LTSP_DIR=/opt/ltsp LTSP_ETH_INTERFACE=eth1
I'm making a point of mentioning this now, because there are two lts.conf files. The first, /etc/lts.conf, is used by the ltspcfg tool to keep information about the server while you configure the system. The second is /opt/ltsp/i386/etc/ltsp.conf, which is the one used by the thin clients. It contains parameters and settings that the thin clients need to operate.
Once this is written, we move on to Step 3, which creates a sample DHCP configuration file. If you used my examples earlier in this chapter, you can leave this part alone. Otherwise, go ahead and let the ltspcfg tool install a default /etc/dhcpd.conf file for you. Be aware that it is only a basic, sample file and that you will have to tweak it for your own network.
Making any changes to your NFS exports file or your DHCP configuration file (/etc/dhcpd.conf) does require that you restart those services. I have more than once found myself wondering why a new workstation wasn't coming online, only to remember that I had not reset the dhcpd daemon. It sounds obvious, but it is also surprisingly easy to forget.
Option 4 on the menu enables TFTP, if it hasn't already been activated, as shown in the status screen (Figure 20-1). Similarly, Option 5 activates the portmap daemon (which we covered earlier when discussing NFS). And speaking of NFS, Option 6 turns on the NFS daemons if they haven't already been activated.
We are now at Option 7, which means it's time for a discussion of XDMCP.