Linux and thin clients

2329

Author: Roderick W. Smith

The primary goal of Linux desktop operation is to give users access to typical desktop applications — word processors, spreadsheets, Web browsers, etc. An alternative exists to this configuration, though: thin client computing. In many respects, thin client computing is very old; the typical mainframe model, with a large central server and many dumb terminals attached to it, closely resembles thin client computing. Thin clients, though, give users the ability to run GUI programs. Before going too far with a desktop Linux deployment, you may want to consider a Linux thin client solution. It’s not for everybody, but some sites can benefit from it.

This article is excerpted from the newly published book “Linux in a Windows World.”

In a thin client configuration, most computers are thin
clients — relatively limited computers that consist of a
keyboard, a mouse, a monitor, and just enough computing power to
display data on the screen and communicate with a central login
server. This login server is a multiuser system that can handle all
of the network’s users’ ordinary
desktop computing tasks. As such, the central system must usually be
quite powerful. Because a typical desktop computer’s
CPU is mostly idle as a user types or reads, and because a multiuser
system can save memory by using shared libraries and similar tricks,
the central system doesn’t need to be as powerful as
the combination of all the workstations it replaces. For instance,
consider an office of 10 users that require 10 2GHz Pentium 4
computers with 512MB of RAM. In a thin client configuration, you
probably don’t need a 20GHz Pentium 4 with 5GB of
RAM (if such a computer even existed!); something along the lines of
a dual 3GHz Pentium 4 with 2GB of RAM will suffice. Actual
requirements will depend on the specific applications, the network
bandwidth, and other factors.

The thin clients themselves can be either dedicated hardware devices
or recycled older computers. Even an 486 system might make an
acceptable thin client. Thin clients frequently boot from the network
using Ethernet cards that support network boots and an appropriate
set of servers. You typically need a DHCP server and a server running
the Trivial File Transfer Protocol (TFTP). One type of thin client is
known as an X terminal. This is basically a computer that
runs an X server and little else. Other thin clients can use the RFB
protocol or other protocols. Several dedicated Linux thin client
distributions exist, as well as tools that enable thin clients
intended for Windows to connect to Linux servers.

One big advantage of thin clients is that, by centralizing the bulk
of the desktop software on one system, you can simplify system
administration tasks. The thin clients themselves are simple enough
that they require little in the way of maintenance, and as they
download their OSs from a server, you can even administer them
centrally. More important, the central login server is just one
system — admittedly, one with many users, but one system
nonetheless. Instead of rolling out a software update to dozens of
computers, you can deal with just one. Particularly if you have a
number of old computers on hand that you can recycle as thin clients,
this approach can save money on hardware compared to upgrading
desktop systems.

Thin clients are not without their drawbacks, though. Because GUI
displays must be copied over the network, they require better network
infrastructure than is required in a more conventional workstation
configuration. The central login server will be particularly hard-hit
by this requirement. You may need to upgrade your network to a higher
speed or segment it and give the central server multiple network
interfaces. As a rule of thumb, an unswitched 100Mbps network can
handle about a dozen thin clients; if you use switches, the number
goes up to about 100 users. Configuring the thin clients to support
sound and give users access to local floppy disks or other removable
media may take extra effort. Because the entire network is wholly
dependent on a single computer, a failure of that computer will be
devastating.

Linux can function as a thin client OS. Typically,
you’ll prepare a custom Linux installation and
configure it to load from the network or from a hard disk in the thin
client itself. When connected to a Linux remote login server,
you’re likely to use X’s networking
capabilities to handle the communications. However, Linux can be used
with RFB or with other protocols to provide users with remote access
to a Windows remote login server.

Linux can also function as the central login server. Typically,
you’ll use X terminals (either dedicated hardware X
terminals or old desktop systems configured as X terminals) as the
thin clients, but you can use RFB instead, if you prefer or if
you’ve found thin clients that support this protocol
but not the X protocols. As a multiuser OS, Linux is particularly
well-suited to function as a central login server. Of course, for all
but the smallest network, you’ll need a pretty
powerful computer to fill this role — probably a multi-CPU system
with several gigabytes of RAM.