A Computer Lab with No Windows, Part I
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.
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.
|diff -u: What's New in Kernel Development||Sep 04, 2015|
|Android Candy: Copay—the Next-Generation Bitcoin Wallet||Sep 03, 2015|
|The True Internet of Things||Sep 02, 2015|
|September 2015 Issue of Linux Journal: HOW-TOs||Sep 01, 2015|
|September 2015 Video Preview||Sep 01, 2015|
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
- diff -u: What's New in Kernel Development
- Using tshark to Watch and Inspect Network Traffic
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- The True Internet of Things
- Android Candy: Copay—the Next-Generation Bitcoin Wallet
- September 2015 Issue of Linux Journal: HOW-TOs
- Firefox Security Exploit Targets Linux Users and Web Developers
- Concerning Containers' Connections: on Docker Networking
- Where's That Pesky Hidden Word?
- A Project to Guarantee Better Security for Open-Source Projects