April 30, 2005

Tired of supporting friends' computers? Migrate them to GNU/Linux

Author: Jem Matzan

A few months ago I moved from New York to Florida, leaving behind all of the friends and family that depended on me for computer support. At least once per month I used to get a phone call asking me to go to someone's house and reinstall Windows or fix some other software problem. Rarely was there an actual hardware problem -- usually all I had to do was back up some personal data and reinstall Windows. But it's impossible to do that remotely, and I had no desire to spend hours on the phone after I moved walking people through driver downloads and various other tasks related to setting up a Microsoft operating system. So, two weeks before I left, I moved several of my accidental "clients" to GNU/Linux and helped them make the transition. The result, after six months, is an end to the annoying phone calls and a much easier time diagnosing hardware problems.

Hardware is easy to diagnose; you observe the system, figure out what isn't working, and replace the defective component. Occasionally you run into a problem that isn't what it seems, or you can't tell what's wrong just by looking at it. In these instances it helps to have some spare parts around to try.

The real challenge comes into play when you bring Microsoft Windows into the equation. Contrary to popular opinion, untrained, inexperienced users cannot manage Windows by themselves. It takes a knowledgeable, skilled user to keep a Windows system properly maintained. That means applying updates and patches, setting up a firewall, using a virus scanner (or simply knowing what is and is not a suspicious email), and defragmenting the disk every month or so. Unfortunately, the kind of people who need my help do not know how to do this, even for all the times I've shown them. They are not stupid people, but many are older and grew up in a time when their friends would not send them messages that could harm them. They understand mechanical maintenance, but don't quite comprehend the fact that computers require electronic maintenance. Some don't care about system maintenance at all; they are content to pay someone else to fix it when it breaks, rather than properly care for their software. In short, they need an operating system that, for all their trying, they cannot screw up. Windows isn't it.

Windows fails in ways that totally confound my hardware troubleshooting abilities. A "blue screen of death" or STOP error can mean that a BIOS setting is incorrect, a memory stick has failed, the motherboard is dying, the power supply is starting to flake out, or that the hard drive has bad sectors. It can also mean that the Windows registry has been corrupted by spyware or viruses, a third-party program has caused a bad crash, or Windows Update has mis-applied a security patch or driver update. Where do you begin when there are so many possibilities? The professional technicians I've spoken with recently tend to start with the operating system, and rather than try to diagnose which part of the software has failed, the usual recommendation is to erase the hard drive and reinstall Windows, then work from there. And, not surprisingly, this solution often works.

To me, completely destroying a software installation is a bad solution. It's throwing the baby out with the bathwater. But it is often the solution that takes the least time and has the best long-term success, even if it takes the most know-how to accomplish. That's why they pay me to do it. But being more than a thousand miles away, I can no longer do these things for family and friends, and I don't know any other technicians that I can trust. The final solution -- the one that I don't have to worry about anymore -- is GNU/Linux.

Yes, mom can use Linux

GNU/Linux does not pose the kinds of problems that Windows does. There is no registry to easily corrupt, and the operating system does not fail in generic, catch-all ways. The user has no power to alter the system software, so important files are not accidentally deleted, and potential viruses and spyware programs have no ability to wreck the system.

The test case was my mother, a Windows user since the Windows 95 days. I built her a new computer and installed Fedora Core 2 on it, then added support for Flash, Java, PDF, Windows Media, and hardware 3D acceleration through ATI's proprietary driver. She needed Microsoft Office for her job, so I bought her a CrossOver Office license and installed her copy of Office XP. I moved her off America Online (which does not have a GNU/Linux edition and won't run through CrossOver) and onto Frontier DSL for Internet service.

Other than a few questions about which programs to use for what tasks, she had no trouble adjusting to Fedora Core. Everything worked perfectly. The biggest problem I had was finding a USB scanner that I was certain would work well with Fedora Core -- and that's not a very big problem, thanks to the SANE Web site.

Next was my father, who had two computers: one for working from home, and a laptop system for working on the road. The desktop system got Fedora Core 2 with the same setup that my mother had, except he needed VMware instead of CrossOver Office -- his company has an old proprietary software application that won't run through CrossOver. He chose to leave the laptop system with Windows XP for the time being.

The setup

I chose Fedora Core 2 because at the time it was the most recent version of Fedora Core. I'd tested it and knew it worked well. It was easy to add to it the extra programs and functionality I needed. In fact, at the time, Fedora Core worked better as a desktop OS than any of the expensive commercial GNU/Linux distributions that I'd used.

To create your own "perfect desktop" using Fedora Core -- one your mother can use -- follow these steps. Most of this information was taken from the Fedora FAQ, an excellent resource for Fedora Core tips and tricks.

Before you begin, give your friend a day or two to think about what information he wants to save from the old Windows system -- browser bookmarks, documents, photos, email messages, etc. Back up the data before you begin. If you can still get to Windows, import the email into Thunderbird and save the Thunderbird profile to a CD.

When you're ready, install Fedora Core 3 as you usually would. Choose the customizable option for software package groups and choose the ones you know your user will need. There's no harm in selecting too much, but it can make updating take longer and your user could be confused by extra menu entries.

During disk partitioning, use a separate partition for the home directory; this makes it easier to locate and back up data, and easier to switch or upgrade the distribution later. If you're planning on using VMware, remember to make the home directory large enough to accommodate a full Windows environment plus programs.

You'll have to explain to the user about root permissions and when they are necessary. The only time they should ever need their root password is when updating. If your user is particularly computer-illiterate, you can make the root password the same as his user password to make it easier for him to remember, or have him write it down someplace safe -- this is someone's home, after all, not a corporation with sensitive data.

After installation, run up2date and get the system patched and updated. Next, you'll need to replace your /etc/yum.conf file with this one from the Unofficial Fedora FAQ. Then run the following commands from a root terminal to add the usual browser plug-ins:

yum --enablerepo=dag install mozilla-acroread
yum --enablerepo=dag install j2re mozilla-j2re
yum --enablerepo=flash install flash-plugin
yum install mplayerplug-in

Next, set up an email client for your user's email accounts. If he previously used Outlook, set him up on Evolution. If he was on Outlook Express, have him try both Thunderbird and KMail and see which one he prefers. If you had to use Thunderbird to backup his email from Windows, it might be best to stick with that. Transfer all of his personal data and browser bookmarks from Windows, and show him how to access his old files.

I like to create desktop icons that make it more obvious what the most important programs do. I made a desktop icon for K3b called "CD writing," for instance, and an XMMS icon for "Music player," among others.

Down the road

More than six months have passed since I switched over my New York "customers," and in that time I've received three calls for computer help. Two were from my father, needing help with his Windows laptop -- software problems again, and this time they happened in the field when he really needed his computer. The other was from my mother. She was having a lot of odd problems with the computer, including slower performance, missing files, and program errors. "Sounds like a bad hard drive," I said, knowing that some strange program or OS glitch couldn't cause all of those problems. So she sent me the computer, I replaced the hard drive and managed to save her data from the old one. The entire repair took about as long as it would have to reinstall Windows, except all of her program settings, preferences, and data were untouched. I didn't have to go on a hardware driver expedition, either -- everything was natively supported in Fedora Core.

Yes, they're all still using GNU/Linux. It's what they imagined computing would be in the first place -- no hassles, no threats, no worries. It's like a dream come true, not just for them, but for me too -- no more troubleshooting nightmares and monthly service calls.

Click Here!