Is Linux Worth the Effort?

I've spent the better part of the past 2 weeks banging away on 2 LTSP servers for our school district. I find myself lamenting to those around me, and being an otherwise cranky guy as well. This morning it dawned on me that people probably think I'm having such a hard time because I'm using Linux instead of the "norm" -- but that's just not the case.

Tomorrow morning, about 1200 people are going to log into thin clients strewn around the school district here in northern Michigan. I am using K12LTSP as my distribution, because the support is incredible, and it's designed for schools. The problem for me, however, is that Linux is so darn powerful, my users are overwhelmed by it. I'll admit, that's not really true of the students, but the teachers demand simplicity. And that's where my 2 weeks have gone. Here's some of the things I've done to prepare for tomorrow:

* Make a pretty login window, with the login and password on the same screen. (GDM doesn't have the 2 fields on the same screen, and my users don't like that. Thankfully, KDM fits the bill. I'd use XDM, but there are no asterisks when a user types their name, so they think the computer is locked up when they're typing their passwords. Ugh.)

* Get a SIMPLE window manager going. I've chosen xfce this time, because it's lightweight and pretty. In the past I've used icewm, but it requires another program to manage desktop icons, and I think nautilus is rather bloaty.

* Simplify the menu. A Fedora install comes with so many thousands of applications, it's hard for my users (again, not students so much) to find what they need. I have to manually create a "start" menu with just the applications regularly used.

And those are just the visible things. Behind the scenes we have network LDAP authentication, NFS home directories, CUPS printer installation, load balancing, pre-defined proxy rules inserted into firefox, defaulting openoffice to save in the Microsoft format, etc, etc.

Is it all worth it? Oh, heck yeah. Instead of managing 250 workstations, I'll be managing 2. I like that kind of math. There are still a couple hundred Macintosh computers, and handfuls of Windows PCs -- but I'd like not to think about those for a bit, and bask in my thin client glory. :)

Oh, and happy New Year everyone. :)

UPDATE: How'd it turn out? Here's a followup.


Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter


Comment viewing options

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

Finish Project with NX

Jeff Kalberg's picture

Look at using NoMachine's NX technology to complete your terminal server project. NX is a powerful protocol for remotely accessing graphical applications across all types of networks, reducing network traffic by over 90%, and providing "just like being there" access to X applications, as well as Windows applications and VNC sessions. (Think Citrix ICA or Microsoft RDP on steroids.) The network bandwidth conserved by NX then becomes available for other applications like streaming audio/video. And with support for local storage devices (e.g. USB), local printers, multimedia redirection, server load-balancing, session sharing and shadowing, NX is a great add-on to any terminal server project.

NoMachine has a web-portal feature that allows for secure remote access from anywhere on the Internet, which makes NX a great tool for providing students and teachers access from home. And since NoMachine provides NX clients for Linux, Windows, Mac OSX, and Solaris, virtually any device can be used to access applications; there is also a Java version that will automatically download and install from your website.

A Wikipedia article on NX Technology points out multiple NX references, including NoMachine NX, FreeNX, and 2X. But NoMachine is the original developer of NX technology; all other solutions are built on NoMachine's GPL'd code. It is NoMachine that offers a supported NX solution, which provides a forum for solving issues and adding features to the product.

NoMachine is very friendly to educational institutions, and offers 50% educational discounting in addition to an already low subscription price. You can learn more about NoMachine at

Nice job

Liviu Petcu's picture

Nice job, but how about your server/clients hardware profile, and how about data protection and disaster recovery scheme you have implemented. Thanks.

K12LTSP in schools

ronmac's picture


It is nice to know that I am not the only one that struggles with the teacher's abilities/inabilities. I am setting up our 5th K12LTSP lab in our school district. Guess which computer in the lab is running XP???? That's right, the instructors.... I setup a VNC icon on the desktop so that they can login to the K12LTSP server and have the access that the students have while still allowing them to have their security blanky. K12LTSP has been such a life saver in our district. I serve as a tech coordinator in a district that has a VERY high poverty rate and open source solutions have been a God send. Without them, our kids would be caught in the holds of the digital divide. I did have a good amount of Unix experience before coming aboard, so the transition to Linux wasn't that difficult. Of course that could be said for any OS. I also serve on the board of our State's technology association and work tirelessly promoting open source. The number one concern is "I don't know Linux". I presented at a state tech conference last October on open source. Guess what, every single application that I demonstrated would run on Windoze. That was just to make the point that it doesn't just apply to Linux. For some uncanny reason, people just assume this untruth. Keep up the good work and thanks for all of the help that you have provided to the rest of us!

great read, thanks! Good

Anonymous's picture

great read, thanks! Good luck with everything and thanks for the link :]

FOSS in Polish schools

Dorian Okrucinski's picture

You have done some great work with LTSP. Kudos!

If you manage to find some free time in the future, you could get in touch with our opensource community here in Poland. We recently ran an article in about free software in schools, you can read it here. We've just started, but are going strong. I will happily act as a mediatory if you ran into language problems.

Congratulations and Good

Rick's picture

Congratulations and Good Luck!

MACUL Conference

Anonymous's picture


Be sure to give us an update! Other Michigan schools are watching. Also, will you appear at the MACUL Conference?


Paul Fedele
Calhoun Area Career Center
Battle Creek, MI

Never Been

Shawn Powers's picture

I've actually never been to MACUL... I go to the MAEDS conference every year (I'm actually on the docket for election to the board for MAEDS), but I've never gone to MACUL.

If there is an interest in Linuxy things, perhaps I should trudge my way down to MACUL this year. If it's in Grand Rapids, it's much closer for me. I'm not sure where it's at this year.

Oh, and the server installs are just about done. I installed 51 printers this afternoon, and thankfully was able to rsync the /etc/cups directory to the second server so I didn't have to install them twice. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

Have you considered...

xutre's picture

Have you set up or considered setting up a RAMdisk to help with the temporary stuff that needs to be viewed simultaneously on many of the clients eg a tutorial video? This of course would prevent excess wear-n-tear on the hard disk.

RAMdisk and Linux not a practical mix

ricegf's picture

While using a RAMdisk (or "virtual disk") on Linux sounds good at first blush (especially to us DOS oldtimers), it's actually a Bad Idea. You have to think about how Linux works to see why, though.

Linux tries to consume all RAM in the interest of better performance - it caches aggressively any data from the disk that is potentially reusable. This is a Feature.

If it runs out of RAM, it simply uses an area of the disk (called "swap space") as "virtual RAM".

If you now try to consume some RAM as a "virtual disk" to "help" Linux, then Linux will eventually and inevitably swap your "virtual disk" to its "virtual RAM" (on disk). In the end, then, you end up simulating a disk... on your disk. That doesn't really help much. :-)

It's best to let Linux manage the computer resources. Hope this helps!

Perhaps you misread the intentions of my post?

xutre's picture

"It caches aggressively any data from the disk that is potentially reusable"

Huh? If you've got say 1GiB spare ram post-bootup and initrd, what is the kernel going to pre-fetch that is potentially reuseable? Anyways, if the data is unchanged even when cached, why does it need to "swap" it to a swap file?

Want to make "swapping" less aggressive? Change the kernel "swappiness" value.

"If you now try to consume some RAM as a "virtual disk" to "help" Linux, then Linux will eventually and inevitably swap your "virtual disk" to its "virtual RAM" (on disk). In the end, then, you end up simulating a disk... on your disk"

See above, increase RAM (you are running a LTSP after all), and/or use ramfs as the filesystem and not tmpfs. As in many other things Linux, the user will get to understand which settings work best in their own set-up.

"It's best to let [OS kernel] manage the computer resources"

Never! Surely that is the "other OS" solution. With Linux, there are always options, options, and options (see above) That's half the fun.

"especially to us DOS oldtimers"

Do you mean MS-DOS? Never been there, (AmigaDOS yes, but that definitely WAS different). Love shell XXX, OHHHH bash XXX!

So! you have a LTSP server networked to 20 workstations; have the same video such as say, the codebreakers.divx, playing on each of the workstations at the same time. What happens?? The kernel does not treat a large data file in the same manner as it does a system library (or not that I am aware of (or not yet)).

NB This may argue the case for the Static Disk Drive where R/W and access times are much faster but does not discount the fact that ramdisks are very fast and far less susceptible to mechanical failure.

ramdisk vs. buffer cache

John Hardin's picture

> ... the same video such as say, the codebreakers.divx, playing on each
> of the workstations at the same time. What happens?? The kernel
> does not treat a large data file in the same manner as it does a system library ...

Why not? buffer cache is buffer cache, and a disk file is a disk file.

The primary benefit of a ramdisk is for temporary files, not for files lots of people will be accessing simultaneously. You use it for temporary files to avoid the hit of going to mechanical storage for a small file that will be read back in and deleted in a minute anyway, and that doesn't need to persist.

Putting "export TMPDIR=/mnt/ramdisk" in the global environment is a win, assuming your applications respect $TMPDIR and don't just write directly to /tmp. Alternatively, mount the ramdisk as /tmp and warn your users that it is of limited capacity and won't persist across reboots. (My users are bad about leaving cr*p in /tmp for *years*...)

Windows Applications

Jeff's picture

I'm curious how you were able to remove the need for windows applications from your userbase. I provide some high-level consulting for a few local school districts in my area (mostly private schools) and as much as I would love to move them to open source, I just can't seem to break the hold that some proprietary administration and grading applications have on the schools. How did you address this issue?

Oh, and for all you hard-core linux users out there. Please don't answer "Wine". There are far too many issues getting some of these applications functioning properly in their native OS to even consider a compatibility layer.




Shawn Powers's picture

No, I wasn't going to answer Wine -- but I share the frustration when people just say, "oh, use Wine" and then go away as if that really helps. :)

I have a Windows 2003 Terminal server running, and use rdesktop from the Linux thin clients in order to run those applications. rdesktop nicely allows for windows programs to run alongside the Linux apps on the desktop, with "minimizing action" and everything.

It also allows those folks bent on not using Linux to log into a fullscreen Windows session. They don't brag too much about it though, because the handful of paid apps in Windows pales in comparison to the abundance of free apps in Linux.

rdesktop allows me to limit Windows access to only the teachers as well, so students can use the Linux thin clients without accessing Windows. (I just changed the group access on the rdesktop executable)

If you were looking for more info, just let me know, I'll bather on incessantly if given the chance. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

You could also use VMWare to

Anonymous's picture

You could also use VMWare to setup a WinXP virtual machine to run those Windows only applications.

More Information

Shawn Powers's picture

I just got an email asking more about our setup, so I thought I'd leave a link to an article I wrote in the Linux Journal magazine back in August:

Just Click Here.

Feel free to ask any questions, I love to talk about Linux. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

Nice work. The problem I

Kristian Erik Hermansen's picture

Nice work. The problem I had with LTSP in my University was when someone wanted to plug in their USB drive. With LTSP, since everything runs on the server, you can't plug the USB drive into the client, and rather have to plug it into the server. This may come up at your lab, so just be aware. I set up our lab in 2005, so maybe LTSP has changed and allows ways to deal with this now. However, I still think Diskless Remote Boot Linux (DRBL) is superior, although it is lesser-known that LTSP...

It's Like Christmas All Over!

Shawn Powers's picture

You'll be THRILLED to know that LTSP fully supports USB flash drives on the clients now. Pop it in, it automagically appears on the desktop. It's too cool, too cool, too cool.

But now, you've given me DRBL to play with, so I'm happy too. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

USB support

Brad C's picture

It's nice to know LTSP supports USB now. My Windows thin client network always has problems with that.

Free Dummies Books
Continuous Engineering


  • What continuous engineering is
  • How to continuously improve complex product designs
  • How to anticipate and respond to markets and clients
  • How to get the most out of your engineering resources

Get your free book now

Sponsored by IBM

Free Dummies Books
Service Virtualization

Learn to:

  • Define service virtualization
  • Select the most beneficial services to virtualize
  • Improve your traditional approach to testing
  • Deliver higher-quality software faster

Get your free book now

Sponsored by IBM