Linux Thin Clients: The Server

Linux offers an excellent alternative for businesses looking for something different in an OS. However, Linux with all of its components and options installed can be a massive resource hog. Enter "thin clients," pared-down Linux installations, which offer a streamlined OS for lighter system usage.

This chapter is from the book

This chapter is from the book

For many companies and individuals looking for alternatives to their desktop operating system, Linux is the natural choice
and offers many relatively painless ways to make that switch. Unfortunately, modern Linux distributions runningKDEand GNOME can demand a great deal of resources, and in some cases, companies looking to make a switch have been holding on
to fairly modest PC hardware. Luckily, Linux enables you to set up workstations with minimal Linux installations that offload
most of the work to a powerful, central server.

This is the thin-client approach. Just how thin this client can be is a matter of which approach you choose. In fact, it can
all be done without even reinstalling the client PCs.

How Thin Clients Work

Linux thin clients typically are PCs booting from an Ethernet card with a chip that asks for an address from the server, or
they are PCs with a specially prepared boot diskette that performs the same network boot function. Thin-client PCs don't even
need a hard drive to provide a user with all of the functions they need. Companies may also choose to use a dedicated thin-client
PC built for that purpose.

After boot, the unit—whether a PC or dedicated thin-client unit—requests an IP address, netmask, and default route from the
thin-client server via DHCP (Dynamic Host Configuration Protocol). As part of the network settings package that gets sent back, the thin client is told
which kernel to load and where to find it. The kernel is then downloaded via TFTP (Trivial File Transfer Protocol).

The kernel loads, and the thin-client workstation boots. As with any Linux system boot, in this scenario the kernel takes
control and configures all attached hardware. A file system image is then loaded into memory and becomes a temporary root
file system. Additional modules are loaded and some further network configuration takes place to prepare the system. After
a few seconds, a new root file system is mounted via NFS (you'll see a “pivot_root” message as this happens). At this point, the thin client is live, and it begins the final states of boot. The /tmp, /proc, and other file systems are created and mounted. Swap space is activated. Soon after, the graphical display starts. The workstation
queries the server for a graphical login.

Although a rather simplified explanation of the process, this is essentially it. A user can now log in at the thin-client
workstation and start using Linux. All this magic takes place courtesy of the Linux Terminal Server Project (LTSP). To make this magic happen, however, there are a few prerequisites that we need to visit on the server side. Via NFS, thin-client servers use shared drive space across the local network. (See Chapter 19, “Linux File System (NFS),” for more on NFS.) Even before we get to that stage, the PC or thin client needs to get an IP address from the network. To do that, it uses
DHCP (Dynamic Host Configuration Protocol).