Linux Terminal Server: More seats, less cash

Back in my big-company consulting days in the late 1980s, I spent time at site surveys assessing the current technology status of potential clients. A guy I used to travel with made a hobby of finding "the computer in the closet". It was usually a perfectly functional minicomputer that had been put away, sometimes without ever having been used. Usually it had outlived its original purpose and was put away, waiting for reassignment, and forgotten. Those Vaxes, HPs, Primes and Data Generals, even if they were five to ten years old, could be worth hundreds of thousands of dollars, and were generally welcomed back into service.

Today, my friend would have no trouble finding computers in the closet. Businesses, schools, and even homes are swimming in old PCs, some only three years old, that can't run modern operating systems or applications. Their processors are too slow, disks are too small, motherboards can't hold enough memory. Technology budgets are squeezed and new equipment is scarce, but Pentium 200s are stacked in the corner, waiting for someone to decide whether to pay a disposal company to haul them away, or try to donate them to schools and charities that already have piles of similar systems - and similar problems.

The Open Source community, the people who brought you Linux, may have come up with an elegant way to transform that old junk back into useful workstations. The Linux Terminal Server Project (http://ltsp.org) has written a terminal server package that can be installed on top of pretty much any recent version of Linux right up to Red Hat 8.0. A single high-end system with LTSP can provide the OS, applications, disk storage and screen management for twenty-five or more terminals.

A terminal can be a thin client diskless workstation costing $500 or less, or a low-end PC with a network card. Terminals can boot from a floppy disk and load Linux and XWindows from the server over the network - no hard drive required.

A full-service LTSP distribution has been created primarily for the school market. K-12 LTSP (http://k12ltsp.org) bundles Red Hat Linux 7.3, LTSP, Microsoft Office clone OpenOffice 1.0, Outlook-a-like Ximian Evolution, the Netscape Communicator and Mozilla Web browsers, countless programming tools and Internet servers, and a number of other useful applications onto three CD-ROM images that can be downloaded from the organization's Web site. For the bandwidth-challenged, LTSP's terminal server package can also be downloaded by itself - it's less than two megabytes - and installed on top of any recent version of Linux.

Testing K-12 LTSP

Since I didn't have a stable Linux installation I wanted to sacrifice, I downloaded the CD-ROMs from k12ltsp.org. The OS installed like any Red Hat 7.3 system, and an hour later I was booting the server. From there, getting ready to boot client computers was a trivial job. I had to change the network addresses in three configuration files to match my local subnet, turn on DHCP, and change permissions on a few files. I visited http://www.rom-o-matic.net, where I downloaded a customized boot diskette image for my terminal system after answering a few questions about that computer's network configuration. In under three hours I went from a blank server disk to a two-station network, at zero software cost. Try that with Windows Terminal Server.

Performance

LTSP recommends fairly hefty server hardware. The documentation suggests a server with dual 650 MHz Pentium III processors and a gigabyte of RAM can support 40 terminals. Real-world installations appear to run about 25 terminals per server. My server was a consumer-grade 1.6 GHz Pentium 4 with 384M of memory. The primary client was a 133 MHz Pentium with 128M of memory, a cheap 8M video card, and no hard drive. To give the server something else to do, I also had it run X sessions on my Windows 2000 laptop. I wasn't able to get the laptop to boot from the server - more on that later - but running a full-screen X session put roughly the same load on the server as a second terminal would have.

I popped the boot diskette in the P133 and turned it on. It took about twenty seconds to go through its self-test and spin up the floppy. The floppy loads network support, a DHCP client, and TFTP, which loads the Linux kernel from the server. The kernel then takes over and loads the rest of the operating system and the screen manager. The system can also be booted from ROM, supporting thin-client terminals with no moving parts except the on/off switch.

Ninety seconds after the floppy spun up, I was looking at an X login screen - about half the time the old system used to take to boot from its own disks. Once logged in, the system handled screen operations far faster than it had, and applications came up very quickly. Overall the system ran much faster than it did as a standalone box. Screen refreshes were even more reliable than in the XWin32 session on my 700MHz laptop. Since all files were located on the server, each user's customized setup was available anywhere he or she logged in. To make things even nicer, a user's entire workspace, with all open applications and files, can be moved from one terminal to another by logging out and back in again elsewhere. In a school computer laboratory, pooled system environment or shared office space, this portability allows someone to take a break and continue later on another system, with no loss of continuity.

Administration bonuses

For someone used to managing a bunch of PCs, LTSP clears up a bunch of administrative headaches. You've got only one system to update. Install a new product once on the server, and everyone can get to it. Apply a patch to the server through Red Hat's Windows-like automatic update process, and it's done for everyone. If a terminal breaks, just plug a new one in its place. The benefits of reduced Total Cost of Ownership (TCO) can be yours today, for free. Operational issues

Of course, you don't get something for nothing. The terminal system's slowness shows when running real-time graphics applications. 133 MHz can't push too many objects around the screen at one time, and trying to do so slows keyboard and mouse inputs as well as screen updates. So if you're looking to create a multi-player DOOM network, you'd better get some fast terminals. The system also can't control the terminals' advanced devices. I never found a way to use the terminal's speakers or CD-ROM drives - the best I could do was control the server's devices from the terminal. The terminal software supports the keyboard, screen and mouse, and not much else. All other services come from the server.

LTSP also has trouble with devices that are not supported in the native Linux distribution. My Dell laptop from a Linux floppy would not boot because the Dell's nVidia graphics card is not supported in RedHat 7.3. When I added support for that device on the server, Linux tried to boot the server using the new graphics driver, and X refused to start anywhere. Fortunately, removing the nVidia's driver packages restored X and everything worked again.

On the software front, this is Linux, not Windows. Many people, and most businesses, need to run some Windows software. For those people, Wine, the Windows emulator for Linux, is packaged with LTSP. But Wine can't run all Windows programs. You'll have to experiment for yourself.

Finally, the boot disk choices at the Rom-o-Matic site do not include any PCMCIA network cards. PCMCIA adds a layer of complexity to the boot process, and while it is possible to build a Linux net boot diskette that supports PCMCIA - it certainly is with DOS - I didn't know how. So if your laptop has a built-in network interface, you're probably OK. If it depends on a PCMCIA network card, you'd better keep that Windows installation.

Advantages

So here's the bottom line: LTSP can be a viable solution if you have a need to put together a low-cost network of workstations to perform basic office functions: word processing, spreadsheets, presentations, web browsing, email and scheduling. Even if you don't have old PCs to use as workstations, thin client terminals can be had for $200 to $500 apiece - not free, but probably smaller, quieter, more energy-efficient, and more trouble-free than antique office systems. Small-scale network gear is pretty cheap these days, and for $150 or less anyone who's reasonably adventurous should be able to put together a home network so the kids can share that single Internet connection. Or skip the network hub, spend $40 for a crossover cable and a couple of cheap network cards, and put together a bargain-basement two-station network.

Even better, you can head over to your local elementary school, public library or charity and show them how they can put some of that old iron to use - and free up some closet space.