A Computer Lab with No Windows, Part I

An application of Linux Terminal Server in Manitoba's largest high school.

Sisler High school is the largest high school in Manitoba, with approximately 1,600 students and 120 staff members on campus. The school offers many computer courses at different levels, ranging from computer programming and office skills to vocational subjects, such as trouble-shooting personal computers, networking and advanced operating systems. In 2002, due to a letter from CAAST (Canadian Alliance Against Software Theft), the school spent more than $50,000 to make sure we had all the necessary licenses for our software.

I have been using and teaching Linux on both the high school and university levels since the mid 1990s. I have set up a variety of Linux servers for a variety of purposes: Web server, shell accounts, Java/C++ programming, routers, as well as HA (high availability) clusters and Beowulf clusters.

In 2002, I decided to redesign my school computer lab without MS Windows and try to teach all my courses with open-source materials. I started with an Athlon 1GHz machine with 1.5GB of RAM as my terminal server; 24 IBM 300PLs (a Pentium 200MHz slim-line desktop) as workstations; and three consumer Gnet 100MHz switches for connections. Running Linux Terminal Server Project 2.1 and using Icewin as the default desktop manager, the lab now runs smoothly. We never experienced any problems throughout the entire academic year.

After running my Linux Terminal Server lab for a year, I decided to upgrade my Linux terminal server. At a cost of about $4,000, we built a new dual Xeon (2.4 GHz) server with 4GB of RAM and two Ultra320 SCSI hard drives. In Part I of this article, I summarize the reasons why we made the changes, describe the benefits we gained and begin a detailed description of how to set up the terminal server and what we can teach with a terminal server lab.

Why Linux Terminal Server?

First of all, this is not an article to debate whether Linux is better than Windows. Although many good reasons exist to run Windows on a personal computer, we as teachers should at least show students that running Windows is not the only solution. I believe in freedom of choice. In fact, the most important element of open-source and GNU/Linux is we are free to access the source code, free to join the community to improve it, free to redistribute and free to develop better software by ourselves.

Public school systems always are underfunded, and because we are using taxpayers' money, we have the responsibility to get the most for our money. By using a Linux terminal server with cheap, "obsolete" thin clients, I have been able to deliver many computer courses that are fully compatible with if not better than what teachers using Microsoft Windows are offering. With the money saved on a Linux terminal server lab, the school can fund other subject areas.

Unlike working on a Microsoft Windows network, the Linux terminal server basically is a central server system where all processes from users' workstations are executed. It's analogous to people who have access to a mainframe or minicomputer in the good old days--having a central server system is like having your own mainframe or minicomputer.

None of the workstations, or thin clients, has a hard drive. Linux and X running on the workstation are downloaded from the server, and all other programs, such as Netscape and OpenOffice.org, are running on the central server. Adding or upgrading a piece of software is done on the server. Once it is done, it is available to every user on the network. For example, when I was teaching Java programming, I had to install the whole Java development it (JDK). But, once it was installed on the server, it was available to everyone on the terminal server network. Using only a terminal session, the teacher can monitor all student activities. By simply running a shell script, the administrator/teacher can terminate the activities of a student and log him/her out from the server immediately, without accessing the specific hardware.

Having no hard drives on the workstations is, in fact, a big bonus in terms of hardware service and maintenance. After setting up my Linux terminal server lab, I no longer need to worry about hard drive failure on any work station, and maintaining students' filesystem now is done on the server. With a simple command or maybe a simple shell script, I easily can add or delete files on any student's account.

For students who want to further their studies in the computer industry, working in the Linux/UNIX environment gives them a better start. Although many professors (I also teach several courses at local universities) are complaining that many high-school graduates know only how to use a mouse to click and drag, students graduating from my courses are much better prepared for secondary education.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

100MHz switches?

Anonymous's picture

Gnet 100MHz switches for connections

Perhaps you mean 100 megabit or 100baseT?

Re: 100MHz switches?

Anonymous's picture

I think100MHz is right, on "good" cat5 it will run at 100Mhz, 350Mhz or 500Mhz.

Re: 100MHz switches?

Anonymous's picture

Yes, you are right, it is an Intel 510T 10/100 Mbps
switch that I got from "Computers for Schools" for

CT Leung

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

I applaud your resourcefulness. I especially applaud your ability to find great usefullness in some of the "old" computers that are piling up in store rooms all over the place.

I'd be interested in knowing how the client machines are set up for booting from the network. I'm a bit of a newbie, so maybe this is old hat for most people reading this, but with no disk, how does the client machine know where to go for its boot info?

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

the client either boots from a floppy prepared with a driver for the onboard ethernet chip (which appears to be how the author did it) or you use a special ethernet card that has a special bootrom. (Or maybe your onboard nics have a socket for a bootrom and you have the rom chips burned and plug them in.)

Once the system turns on and the nic is powered on it broadcasts ( an etherboot request for a server. That server is listening for the requests (this actually happens via DHCP) to setup networking info before any kernel is loaded, the card receives its networking information from the server, plus other information: the pathname of the kernel on the server to download and the pathname of the root filesystem to mount. Etherboot takes that information configures the card, and sends a request to the server for a system image. The server sends a compressed kernel image via tftp. Each station may be assigned an address from a configuration file associating the MAC address with a hostname and an ip address and particular pathname to a kernel and root fs. As the kernel image bootstraps up on the client, it proceeds to mount / via NFS.

Basically you should just give it a whirl. Trust me, LTSP makes this all STUPIDLY SIMPLE. Anybody can manage it including me. You won't believe all this complexity can be reduced to a quarter hour of installing rpms and making a couple of edits in a lts.conf file until you try it and see that it's true. The LTSP packages will automatically alter some relevant configs like your /etc/exports and xinetd configuration to make installation brainless, i mean painless.

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

The easiest way to do that is using Mandrake Linux. It has a GUI to set up thin clients. Even a child can do it. :-)

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

Go to www.ltsp.org for the details. www.etherboot.org also has some docs explaining how diskless booting works.

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

The beauty of using those IBM 300PL machines is that there are thousands out there. I have bought a couple (one is an MP3/ Ogg playback system at my restaurant) for next to nothing with drives in them. I pay CDN$69 which includes a 4GB drive and a new mouse and keyboard.

Re: A Computer Lab with No Windows, Part I

Anonymous's picture

Being fair in the price comparison, how much money (conservatively) do you think you have saved your organization with your (no-Windows) approach?

I was one of his students at

Anonymous's picture

I was one of his students at the time.... the computers had some boot off network feature... he had been running something similar to a dhcp server.... some motherboards have the ability to do this not all though....

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot