Linux in Academic Labs Revisited
In this article, I would like to revisit the idea of maintaining academic computing labs from the perspective of a case study implemented at the Mark O. Hatfield Library at Willamette University. In our case, we use an X-based client server model for maintaining an internally consistent, standardized software model in an academic lab with a heterogenous PC hardware environment.
The Hatfield Library is an undergraduate research library based at Willamette University in Salem, Oregon. The library's Systems Division is responsible for maintaining labs that service a wide range of client constituencies. We support a public computing environment for accessing library services, such as catalog and journal databases (OPAC); workstations for library staff and student workers; a student computing lab; and an instructional lab.
Due to budget constraints, the library's instructional lab traditionally has been the location where PC hardware--staff machines removed from service and antiquated systems division servers--are recycled. As a result, the lab consists of very different hardware running multiple versions of Microsoft Windows (98SE, NT, 2K) and Microsoft application software. This collection created significant maintenance problems for systems staff, as well as widely varying user experiences on the lab computers. All of this detracted significantly from the use of the lab as an instructional tool.
The primary software and hardware-related concerns articulated by staff and instructors who used the lab included:
The need to improve the performance of the wide range of computer hardware deployed in the lab environment.
The need for a centralized mechanism for maintaining a single security policy across all systems in the lab.
The need to improve printing performance in the lab.
The desire to create a more homogeneous software environment to facilitate student learning.
This year, the Systems Division upgraded one of its Linux-based X application hosts--a 500MHz dual processor PIII, with 500MB of RAM--used to power many of its X terminal-based public computing infostations. This shift put the library in a position to upgrade the lab environment in a way that simplified administrative chores, created an internally consistent learning environment, mitigated the differences in PC hardware and met the needs of instructors without the need for purchasing additional PC hardware.
The X Window System, X for short, is the graphical interface software that provides a client-server interface between peripheral devices, such as the mouse, keyboard and video display, and a windowed desktop environment. X differs from traditional personal computing user interface software in that it is network transparent and it creates a division of labor between software execution and software display. Under X, for example, one can run multiple instances of client applications, such as a Web browser or a window-managed desktop on a remote application host, and use and display those applications on one or more workstations equipped with an X server.
Several benefits can be realized when using the X-networked client-server model in an instructional lab environment:
It mitigates the relatively poor performance of software on older hardware, because the workstation hardware is used only to display, not run, applications used in the lab.
It eliminates problems associated with students modifying desktop settings, such as browser home pages, or installing potentially malicious software on the system.
It facilitates system maintenance and creates a homogeneous desktop and software environment, because the desktop and its software are configured and maintained on a single application host.
Cost efficiencies and hardware availability. Because the hardware requirements of workstations running as display servers is significantly lower than what is required for systems that must run both the application and its display, hardware that would be marked for removal elsewhere in the institution can be recycled into the lab environment at no additional cost.
The basic implementation strategy was to create minimal workstation installations of Linux consisting of little more than the kernel, basic utilities, sshd and XFree86. We would then use XDMCP to connect those systems to an X application host running the desired client applications, window manager, browser, office software and so on.
For this project, we used the downloadable version of Red Hat 9.0 for both the workstation installations and the application host.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Be a Mechanic...with Android and Linux!
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters