Those of us that maintain networks in small- or medium-sized businesses have a unique understanding and appreciation of the headaches involved in maintaining multiple PCs, each with its own instances of operating system and applications. Even at home, the situation isn’t much better: maintaining your kids’ and significant other’s machines can be an unpleasant chore (particularly on Windows- based machines), worrisome, and an expensive endeavor, with decent PC’s including a monitor going for $800-$1000 a pop and an upgrade cycle measured in two or three short years.
So, if every person at your place of business or in your home wants or needs their own machine to do typical PC productivity tasks such as web browsing, word processing, and “Office”-like tasks, is there a better and less expensive way to go?
There most definitely is and it’s called the Linux Terminal Server
project, or LTSP (http://www.ltsp.org
). Instead of giving everyone their own dedicated PC, with hard drive and operating system, you can give each user a diskless, Linux-based thin client that costs a mere fraction of your typical PC yet provides an equivalent desktop experience that is just as robust and as responsive.
Diskless workstations don’t need hard disks or CD-ROMs. Instead, they boot a Linux kernel from a central, network server, load the X Window System and your choice of GUI (GNOME or KDE or a “light” window manager like Metacity, Blackbox, or FVWM), and then run all applications using the server’s CPU. So, instead of upgrading everyone’s PC every two or three years, you can upgrade just one machine, the terminal server itself.
A diskless workstation doesn’t need to have a brawny CPU or a lot of memory to yield excellent application performance. A machine with a 486- class (such as a Cyrix Geode) low-power chip or Pentium I/Pentium II, 64 MB of RAM, and 8-16 MB of video memory is more than sufficient to provide a responsive and robust graphical desktop. Got a few 4-year-old PC’s laying around collecting dust? Yank out the hard disks and re-purpose them as diskless workstations.
The key to getting them up and running under LTSP is enabling the PXE (pronounced “pixie”) protocol in the ROM BIOS and enabling the built-in network adapter as a bootable device. Many PCs and motherboards and network interface cards manufactured in the last 3 or 4 years are capable of PXE boot, but they might require a BIOS update; check your manufacturer’s site for the latest version. PC’s that don’t support PXE in the BIOS can also boot via the “Etherboot” protocol using special floppy disks or boot CDs. (See the resources at the end of this article if you need to do that.)
Short of re-purposing a legacy PC for use as a terminal, the easiest solution is purchasing dedicated diskless workstation hardware. Companies such as DisklessWorkstations.com as well as Symbio Technologies sell pre-configured LTSP-aware boxes that already have the PXE boot protocol enabled in their BIOS, are extremely quiet because they have no moving parts, and completely auto-configure themselves with the proper X video graphics drivers and sound support. Installation is completely painless. Dedicated diskless workstations are also fairly inexpensive: both DisklessWorkstations.com and Symbio Technologies, for example, sell units that start at around $250 apiece. Depending on the model you choose, they take up as little space as an upright-standing Playstation 2 or a medium-sized paperback novel sitting on a bookshelf. Diskless nodes are a great way to extend the PC experience into your kitchen or to your home theatre without taking up a ton of room. Most diskless workstations also have USB ports and PS2 connectors to support different types of keyboards and mice (and removable USB thumb drives) and have built-in sound support.
Server requirements are also quite modest for LTSP, especially if you’re only talking about supporting three to five terminal-based users with middle of the road application requirements. A single CPU Intel Pentium 4 or AMD Athlon machine with 1 GB of RAM can service five diskless workstations quite easily, with plenty of oomph to spare.
While a single network interface card (NIC) and a single switch/hub configuration for the server and the attached diskless terminals can be used, it’s best if you use the built-in interface for Internet connectivity and that you put a second NIC card into your server and connect that interface and the diskless machines to a dedicated hub or switch for improved application performance and simpler manageability. LTSP uses the Linux dhcpd server daemon to provide IP address provisioning to the terminals, so if you’re using a typical SOHO setup with a garden-variety Linksys- type residential gateway router for cable modem/ADSL use, the DHCP server running on the LTSP box can conflict with the one running on the router if you’re not careful with the DHCP scope configuration on a single interface/single hub setup.
With network cards going for $30 and fast, 8-port Ethernet switching hubs going for about $50, it’s worth the extra money to segregate the thin terminals from the SOHO router. For your server’s terminal interface, use a non-routable network address scheme such as or 10.0.0.1 (most SOHO routers use the 192.168.0.x or 192.168.1.x scope, so use something completely different if either is already being used).
Setting Up The Server
LTSP 4.1 is compatible with nearly every major distribution out there, but for a robust desktop environment, try Red Hat Enterprise Linux 4 WS, Fedora Core 3, or SuSe Linux 9.3. Those are known to work well; your mileage with other distros may vary.
On Fedora or Red Hat, choose the complete install or choose the “Personal Desktop” option and add the dhcp and tftp-server packages. With SuSE, if you do a full installation, go into YAST2 and replace the atftp package with the tftp package, and add the dhcp-server and dhcp packages.
While the LTSP 4.1 distribution itself is available from the Sourceforge project page (http://sourceforge.net/projects/ltsp
), LTSP can be tricky to set up and configure using the built-in tools alone, as there are several configuration files that need to be tweaked and touched to yield a working configuration for a typical install — the dhcp
server configuration file (/etc/dhcpd.conf
) can be especially complicated and bewildering to a novice. Fortunately, a new third-party, open source, GPL LTSP management tool, the Symbiont Workstation Manager
(SWM), written by the aforementioned Symbio Technologies, makes installing and configuring an LTSP server practically child’s play.
To get the SWM/LTSP, visit http://www.thesymbiont.com/downloads
. The easiest way to get up and running is to download the very latest SWM Graphical Installer
ISO file and burn it to a recordable CD.
Once you’ve burned your CD, log in as the root user, place the SWM CD into the server’s CD-ROM drive, use your favorite graphical file manager (such as Konqueror or Nautilus) to open the contents of the CD, and then click on the SETUP program. The Graphical Installer loads and prompts you to install it on the server PC.
If for some reason you don’t have a CD burner handy, download both the latest SWM and LTSP RPM files on that page and install them both with rpm-Uvh filename.rpm (where filename.rpm is the name of each file) using the shell prompt as the root user from the directory you downloaded them to. Then proceed as described next.
Immediately after installing Symbio Workstation Manager, you should notice a “Symbiont Workstation Manager” icon on your KDE or GNOME desktop. Double click on that icon to start up a web browser which connects to the URL http://localhost:10001. You should see a login screen. Log in as root with the root password.
At the next list of options, click on the “Post Installation” link. You’ll see a screen similar to the one in Figure One.
If you see any red “X” marks for a particular service, such as NFS or TFTP or XDMCP, check the “Enable” and “Restart” boxes and then choose “Apply selected” at the bottom of the screen. After enabling all the services and configuring all the files in the Post-Installation screen, click on the “Workstations” menu.
Next, choose “My Subnets.” By default, The Symbiont and LTSP choose the network connected to the eth0 interface as the terminal segment. If you want to use the 10.0.0.x segment you added when you installed the second network card, disable the default network and enable the other network, which will be grayed out. Use the “Enable/Disable” subnet button and check the subnet (s) you want to disable or enable. In the same screen, under “Workstation Range” you’ll want to specify what IP addresses can be used for the terminals. If you’re using 10.0.0.0 for your terminal network, use 10.0.0.100 to 10.0.0.110, which leaves you plenty of spare addresses if you ever want to plug in a network printer on that segment or some other intelligent device, such as a wireless hub or a network attached storage (NAS) device, or even another server. After making any changes, be sure to click on “Apply Selected” at the bottom of the screen.
Once you’ve completed configuring your DHCP subnet, add your terminals to your thin client network. At this point, cable each to the Ethernet switch, then power all of them on so they make initial contact with the DHCP server. Provided PXE is configured on each unit, you’ll see boot up screens that resemble Figure Two.
The first time you power the units up, they won’t boot because their MAC addresses aren’t registered as workstations in the /etc/dhcpd.conf file. If you were using plain vanilla LTSP 4.1, you’d have to manually edit that file for every single diskless workstation on your network, using a fairly tricky syntax for each entry. But with SWM, it’s as easy as a few clicks of the mouse.
Under the “Workstation” menu, click on “My Workstations”. You’ll then be presented with a screen showing the “Default” group. Click on the “Add Workstations” button. You’ll then see a screen that resembles the following:
You should see a list of workstations detected on the thin client segment, listed by MAC address and time contacted. For each workstation, choose the “Add?” checkbox and then click the “Apply Changes” button. Your workstations are now added to the network and should be able to boot, although you might have to cycle the power of each machine to boot from the server.
If all goes well, each workstation will boot the PXE kernel, fire up X, and then show either the KDM or GDM login screens, depending on what your distribution uses (Red Hat and Fedora both use GDM; SuSE uses KDM). You should then be able to log in as a regular user — except as root, which is disabled from logging in remotely. You’ll want to create regular accounts for every user in your place of business or household so they can log in from each terminal.
Should the X server not come up on your diskless machines, you may need to manually supply the correct parameter for their video cards. In the “Workstations” menu, under “Profiles,” you can create a specific profile for any particular group of workstations.
For example, if you have a machine that uses an Intel i810/i865 series video chip (one particular variety that doesn’t auto-detect properly), simply click on “Add Profile” to add a new profile, fill in the name, such as Intel i810 and under “Extra Options” add the parameter XSERVER=i810. (In addition to that parameter, some of the older Intel cards might also require X_VIDEORAM=32768 or X_VIDEORAM= 4096 or X_VIDEORAM=2048.)
When finished, click on “Save Profile”. To activate the profile for that particular workstation, choose “My Workstations” from the “Workstations” menu and assign it the correct profile (such as “Intel i810”).
Should you further need to tweak specific workstation settings, use the “Displays” screen to adjust screen resolution and color depth, and the “Mice” and “Keyboards” screens to adjust USB or PS/2 settings for the mice and keyboards, respectively. If you plan on using CodeWeavers Crossover Office and Office XP or Office 2000 on the terminals, make sure your color depth is set to 24, as opposed to the default 16, otherwise embedded graphics files won’t show up in the document view.
A Turn-Key Terminal Server
In addition to a commercially supported version of Symbio Workstation Manager and LTSP certified diskless workstations, Symbio Technologies also sells through its VARs the Symbiont Boot Appliance
(SBA), a specialized, Linux-based, turn-key appliance that’s preloaded with SWM and LTSP and is designed to connect diskless workstations to pre-existing Linux and Unix
servers, as well as additional types of terminal servers supporting Citrix, Windows Terminal Services, IBM 3270, Telnet,
and Secure Shell
(SSH) connections. Using the SBA, the administrator can easily connect more than one application server to set up multiple sessions that run simultaneously on each terminal. For more information on the SBA, see Symbio Technologies’ web site. (http://www.thesymbiont.com
Jason Perlow is Linux Magazine’s resident desktop expert and its bon vivant. You can reach Jason at