Building a Linux system for a Child, part 1: What and Why
One of the common suggested uses for old computers is to install GNU/Linux on it and give it to your kids. I have five children, ranging in age from pre-teen to infant, and all but the youngest (naturally) regularly enjoy the use of computers running some variant of GNU/Linux. We’ve been using it at home since about 2005, and over the last eight years I’ve gained a reasonable amount of experience setting up Linux on computers for my children or their friends. This series of articles will cover some of my insights on setting up a Linux computer for kids.
Why do you give a child a computer?
Ever since I was a child back in the 80′s, there has been this notion that giving a child access to a computer is an unquestionable good which all-but-guarantees his success in later life. Organizations public and private have worked hard to place computer technology into the hands of children here and abroad, and unfortunately they seem to have done a good job of it.
Yes, unfortunately; because today’s children spend as much as nine hours a day in front of screens; and for the most part, they aren’t reading scholarly articles, composing master works, or exploring the world of science and technology. They’re more likely fraggin’ virtual bad guys, socializing on facebook, or probing into the seedier corners of human nature.
Not that I’m against kids having computers; far from it. But I think it behooves a responsible parent to consider how best to direct a child’s use of the computer so that its possession will be a net positive. A computer can be many things to a child:
- A general education tool, for researching and learning about non-computery things like science, history, geography, literature, etc.
- A computer education tool, for learning about computer technology itself.
- A multimedia device, for enjoying music and movies (educational or otherwise).
- A communications device, for email, chat, social networking, video chat, etc.
- A creative tool, to aid in authoring music, video, pictures, text, etc.
- An entertainment device, for games and recreational web surfing.
Taking your child’s age, interests, abilities, and other circumstances into consideration, you’ll want to decide which of these uses you consider more important, and which (if any) you consider inappropriate or unnecessary. With this information in hand, we can steer the child’s computing experience in such a way that it just might end up being something like the great thing we all thought it could be once upon a time.
My personal goals for my kids with computers are:
- to teach them about computer technology, including computer science and programming
- to learn to use a computer in other creative and productive pursuits
- to enhance their general education when possible
- within limits, to unwind and have some fun
Your goals may differ, and you’ll have to keep that into account as you consider how to set up your child’s computer.
Using Linux for a child’s computer
The computer you’re giving to your child very likely had some kind of operating system on it, and very likely that OS was (at least initially) some version of Microsoft Windows. Before we talk about putting a Linux distribution on it, I think it’s worth counting the cost. You will be surrendering some potentially positive things, and subjecting yourself to potential difficulties in exchanging Windows for GNU/Linux, so it’s worth considering if this move really meets your goals. Let’s start by clearing the air and getting the negative out of the way:
What you give up by using Linux
First, there’s the software. There’s no shortage of high-quality software for children on Windows, much of it featuring popular TV and movie characters, ready to help your child learn and play. These games are rarely compatible with Linux1. Apart from games, your kids might need to run Microsoft Office or some proprietary educational software for school. Basically, there’s just no guarantee that any random product you want (or need) to purchase and install for your kids is going to work.
The incompatibility extends to the Internet as well. You’d think in 2013 we would be done with the whole “you need Windows to use this website” nonsense, what with everyone toting about Android/iOS tablets; but sadly there are still a few holdouts entrenched in the proprietary browser plugin mentality who might leave your kids staring at a “missing plugin” error instead of a cool new online game or favorite video. Silverlight, Unity web player, Shockwave (sadly, people still use this), and even ActiveX (people still use this too) can mean no-go for some online games and activities.
Another shortcoming on many of the current popular Linux distributions, as I’ll discuss later, is the lack of simple parental controls (as such). This isn’t to say we can’t accomplish many of the things that parental controls are meant to accomplish, but it’s not as straightforward as you’d wish.
Finally, on a less concrete note, we’re taking from the child the chance to see and experience the operating system that the vast majority of people use to do business and personal computing. They will be missing out on a shared cultural experience, and will be unfamiliar with tools that many people might take for granted2.
What we gain
So now that I’ve almost talked you out of it, let’s look at what makes it worthwhile to give a child a computer running GNU/Linux:
You will save money running Linux. Not at first, naturally; if you already own a Windows license for this computer, you aren’t immediately out of pocket for anything. But in the long run, we’ve found over the last eight years that the cost of home computing has been much lower for us, for a few reasons:
- We never need to buy things like anti-virus or anti-malware
- The things we need are usually readily available for free in the software repositories.
- Many things that we might have bought (games, e.g.), we didn’t buy because it wasn’t compatible. We were fine without these things.
- We could extend the life of our hardware while still running the latest releases of the operating system
One could argue, of course, that freeware and open-source software (much of the same open-source software) exists for Windows as well, and if we were going to restrict ourselves to that we could as well do it on Windows. That may be, but I think it’s a lot different when you have to proactively go out and find, vet, test, and maintain this software; on Linux, you open the package manager and install what’s recommended.
Kids have a knack for finding malware; I’ve been paid to reload Windows on enough teenager-operated laptops to know it. In my experience, no amount of anti-this or anti-that software will completely mitigate the threat – on Windows. Running Linux, your child’s system will simply not get malware3.
This is awesome, not only because malware is a pain to remove (sometimes requiring reloading the OS), but also because some of it can put some pretty nasty stuff up on the screen. You do not want this happening on your computer, and you certainly don’t want it on the computer you set up for your niece, younger brother, or the neighbor’s kids.
A custom experience
When it comes to customizing a system – whether for looks, performance, special needs, or just for the heck of it – nothing beats Linux. Yeah, I know, there are hacks and tweaks and third-party shells for Windows; but if you’ve spent much time with Linux you know that it offers deep customization in spades. There is no “officially blessed” distribution, desktop, or configuration; so all the various options are equal citizens on this platform.
This is really a great benefit when you have to work with old hardware, when your kids have special needs, when you want to build a system for specific limited purposes, or for locking down the system for only a few select tasks. Even if you don’t feel like tinkering with config files, the current crop of Linux distributions ship with any of a dozen different desktop environments configured for a variety of tastes and needs.
A broader experience
I’ll never forget a situation years back where I walked into an office to see a panic-stricken woman staring at the screen of a Mac, frantically asking, “How do I launch Internet Explorer on this thing?”. Well, at our house we change desktop environments like some people change hair styles, and everyone has his preferred browser. My kids understand that they don’t need “Internet Explorer”, or even “Firefox” to surf the web; they just need a “web browser”. They don’t panic if there isn’t a “start” button in the lower left corner; they just click around until they find something that looks like a menu (or command input).
This may not seem like a really compelling point, but I think there’s some real value in this over the long-run. When I was a kid, most “real-world computing” was done on green-screen Unix terminals or DOS PCs. Throughout my educational and early professional career, getting my work done required me to interact with multiple Unices, VAX VMS, multiple DOSes, MacOS (classic and OSX), and Windows (9.x & NT) – and that’s only before I went into IT.
There’s no telling what sort of as-of-yet-unimagined computing paradigms your child will be faced with in the decades to come. If you want them to be prepared, teaching them that a computer can look and act in a variety of ways is a good start.
Real insight into how computers work
When I learned Windows, I learned how Windows works. When I learned Linux, I learned how an operating system works. Yes, even in 2013, being an avid and regular Linux user may require you to dig into the guts of the system and learn about things like kernels, software libraries, GPUs, or how to write a script. Many see this as a weakness, but as a parent with an educational mindset, I see it as an opportunity.
Even when things are working fine, GNU/Linux is just a system that encourages exploration and discovery; there are no proprietary patented secrets locked away in encrypted binary files. The community encourages this too, and asking a few questions about how something works will usually get you several detailed responses.
No, Ubuntu’s latest flagship release will not run faster than Windows XP SP1 on a ten-year-old computer. But there are distros that will, without a doubt; and unlike your old copy of XP Home first edition, they’re full-featured operating systems, fully-patched and fully-supported with modern apps readily available.
My wife currently runs the latest Kubuntu LTS on a Vista-era laptop; it’s smooth and quick, much more so than the now six-year-old OS that came with the device. My kids run Ubuntu and Kubuntu on stock Dell workstations (originally designed for XP SP3) without problems. In fact, none of the systems we use at home are less than five years old (some considerably older), and we typically have no problems running “heavyweight” desktop environments when we choose to. When a system can’t handle KDE or Unity, we switch it down to LXDE or XFCE and keep running.
I’ll let a system run an obsolete version of MacOS or Windows when I have to, but we never run outdated Linux. There’s never a need!
You know how you go out and buy a new scanner, and it comes with bundled scanning software that’s totally different from the scanning software that came with your last scanner? Or the same scenario with your wireless card, printer, camera, optical drive, multimedia keyboard, or particle accelerator?
On Linux, there are built-in tools for this kind of thing that work with a wide range of supported peripherals. The upshot is that no matter how many times you go through hardware devices (we’re on like our 4th scanner in 10 years), you don’t have to learn new software. This is especially nice for kids.
Of course desktop environments change and evolve over time, but there is no shortage of conservative choices for those who want consistency first.
If you’ve never touched Linux before, I’ll grant you the idea of doing maintenance on it can be daunting. But it’s really, really simple once you get the hang of it (i.e. once you get past the OMG IT’S NOTHING LIKE WINDOWS stage). Keep the packages updated, clear out the old kernels and package cache, and that’s about it4. No defragging, no antivirus/antimalware updates or scans, no calling the OS vendor to re-activate because the OS suddenly decides it’s not legal anymore5.
The package manager thing is really the killer feature here. I don’t have to go to all our half-a-dozen machines and figure out whose Java or Flash or browser is out-of-date and needs patching. I just run a package manager update and BAM! done. I can schedule it even. It won’t even nag you to reboot every ten minutes because the web browser was updated (yeah I’m looking at you Internet Explorer).
Ready to go?
At this point you’re either champing at the bit to start installing Linux on your child’s computer, or ready to run screaming the other way. If you’re in the first catagory, the next article in this series will look at some of the distributions and software available for kids, with some personal input from my own experiences.
1 Sometimes you can get them to work in WINE, but in general I find WINE too inconsistent to be a practical solution.
2 Yes, there are many, many arguments one could make against this point, and I very likely personally agree with yours. But I list it because it’s a common objection whenever people talk about giving non-Windows computers to kids. In any case, if your goal as a parent is to teach your child about desktop computers as they’re normally used by most people, installing anything but Windows won’t help you achieve it.
3 Yes, I know that people say malware may come to Linux someday, or that Linux systems can be hacked. But to suggest that Linux distros are (or will be, in the foreseeable future) threatened with malware in the same way that Windows systems are is just not reality. You can argue about hypothetical situations all you want, but I personally don’t live in a hypothetical world.
4 If that sounds complicated, it comes down to a few clicks in a GUI application, or 3-4 commands in a terminal, whichever you prefer.
5 Yes, I’ve had to do this. Multiple times.