One of the more innovative and ingenious projects to come down the pike in recent times is K12LTSP, the K-12 Linux Terminal Server Project. K12LTSP is designed for the classroom, running diskless terminals (thin clients) connected to an applications server. The advantages are legion:
- easy installation and maintenance
- isolated from the school's main network
- minimal cost
- no licensing worries
K12LTSP is a user-friendly integration of Red Hat Linux 7.2 and the Linux Terminal Server Project. The Linux Terminal Server Project is most worthy in its own right, the great value of K12LTSP is incorporating it into Red Hat as an installation option, and the quality documentation. Easy as pie and saves many extra steps.
This is almost a magic solution for overworked, underappreciated teachers commanded to "teach computer stuff." The creators of the K12LTSP, Paul Nelson and Eric Harrison, provide abundant and excellent documentation for Linux system administration as well. (see Resources) It is best to have an experienced guru do the installation and administration. But because of the good documentation, a person with moderate knowledge of networking and basic PC skills can do the job. Or make it a class project and let the kids acquire some truly useful skills.
All the installation and configuration takes place on the server. Nothing to do to the client machines except turn them on. IP addresses are assigned via DHCP. Once it is up and running, maintenance is minimal, assuming healthy hardware. It just works. Kids, of course, have no trouble adapting to new computing environments, and love the endlessly customizable Linux desktops.
The server needs to be your best machine. For a classroom with up to 10 terminals, these are the minimum requirements:
- CPU: One PIII- 1 gig or faster
- RAM: base 128mb, plus 50mb for each client
- HD: ATA/100 10+gig IDE (just try to find that small a drive anymore!)
- Network: (2) 100/base cards and a 100base hub (8 or 16 port)
For serving up to 30 clients, a box with two 1 gig+ CPUs and dual SCSI hard drives is nice. Use one drive for /home, the other one for everything else. Even on a lower-end box I like two hard drives, it simplifies backups and security.
RAM is the most crucial component, the more the better. KDE and GNOME consume a fair amount of RAM; when you add OpenOffice, or a graphics application like the Gimp, more memory is even more better. It's still inexpensive, no need to stint.
For larger networks, spread the load over several lighter-weight servers, rather than one heavy-duty box. 30 students all hitting the server at the same time will tax any single machine. (Challenge your students with putting together a Mosix or Beowulf cluster. This is a most practical assignment, one example of the power of clustering is Google, which runs in memory on a heavily customized Linux cluster. )
The terminals, or client machines, can be just about any old PC you have lying around. A diskless client needs only a motherboard, RAM, CPU, video card, and NIC. Many motherboards incorporate video, sound, and the NIC. For bootup, use either an NIC with programmable boot ROM, or create a boot floppy disk.
Linux is often touted as "the savior of elderly hardware." Many schools depend on old and donated machines, and it is nice to put old machines to work, rather than dumping them in landfills. The most important component is the monitor- don't ruin your charge's little eyeballs on bad monitors. The second most important component is the NICs. Don't skimp on the network cards, life is too short to nurse a flaky NIC.
Many school networks are not well-constructed or administered. The default K12LTSP configuration creates a private network that routes only necessary traffic to the rest of the network. This prevents traffic jams, and possibly other problems, such as adventurous students poking into forbidden places. There have been reports of well-meaning teachers setting up Samba and accidentally hijacking Windows NT domains- this won't happen with K12LTSP. Another option is to construct a completely self-contained network, not connected to anything outside the classroom.
My favorite feature is a nice little script that Eric Harrison wrote. If a student messes up their desktop beyond repair, run the script to reset it to the default. The script gives the option of either restoring specific users, or wipe the whole batch clean for a new class. All this does is clean up the desktop, it does not affect system or data files, which are on the server.
By now you're probably wondering, OK, this sounds fine, but what do you do with it? I'm so glad you asked. Scanners, Web cams, printers, word processing, desktop publishing, graphics, programming, spreadsheets and financial tools, scientific calculators, CAD, star charts- you name it.
Another popular item is squidGuard. If you do a "Server" install rather than a "LTSP" install, K12LTSP can be used as a web filter. Because of the Children's Internet Protection Act, this has been a popular piece of software. Commercial web filters are very expensive and not only is squidGuard free (GPL), it performs very well, and gives the user complete control. This is also a nice option for the home network, in fact K12LTSP makes a dandy DSL/cable gateway for the home network. Be warned, the "Server" installation includes no nice graphical desktop environments, it runs only from the command line. It is best, for security and ease of administration, to run servers as leanly as possible. However, for the Linux newbie, selecting either a "Custom" or "Workstation" installation lets you choose a graphical environment for your server, which may make it easier to learn. When guru status is attained, 86 the fluff.
Linux, being a UNIX clone, has client/server functionality built into everything. As a true multi-user operating system, any number of users can share a single machine securely. Each user will retain their own custom desktop settings, and their data files by default are not shared.
Windows and Mac connectivity are available, via Samba and Netatalk, which are available when K12LTSP is installed as a server, rather than as a terminal server. This provides native Windows and Apple file and print sharing. Work is underway to develop a true thin-client for Macs.
- Linux Terminal Server Project
- Graduation Day for Linux (A feature on K12LTSP)
- Red Hat Linux Hardware Compatibility Lists
- Terminal Hardware guide