Not So Fast: Linux on the Desktop
About a month ago, I gave up on Windows cold turkey and switched to Linux. I told myself no matter how tough it got, I was going to make it work.
After all, I've got lots of friends who run Linux, and it works for them, right? And for years I've been seeing articles about how “This is the year for Linux on the desktop!” Gotta be something behind that, right? I'm a pretty smart guy, I can figure it out.
Well, like everything else in Linux, the answer has turned out to be, “Almost!” Most readers probably already know that Linux is picky about hardware, so I won't bother you with stories about how I had to buy three different video cards before I found one that did dual monitor displays correctly. I won't tell you how many distributions I tried before I found one that worked with the onboard network card on my IBM Thinkpad T21. Instead, I'm going to focus on a few examples of conveniences Windows users take for granted.
Installing a Program
To install a program in Windows, generally a user runs a Setup.exe, and a nice, professional installer takes over from there. After answering a few questions, things happen, the software is installed, and the result is a set of program shortcuts and a link to the documentation in the Start menu and the desktop.
To install a program in Linux, the best case scenario involves a program packaged inside a .deb or .rpm installation file, roughly the equivalent of setup.exe. Run the package, the packaging system checks for dependencies to make sure your system is capable of running this new program, and then the program installs. Sounds good so far: but notice that I just said the program installs. I didn't say it updated the Start menu – let alone put an icon on the desktop as a shortcut. Users have to figure out where the program just installed itself and how to run it, and often the only way to get there is via command line. Sure, users can create their own menu items manually, but it's something Windows users have taken for granted for over a decade.
Everyday Automation of Simple Tasks
Plug a digital camera, scanner, or a media reader (like Compact Flash) into a Windows 2000 or XP machine, and you get instant visual and audible confirmation. If it's the first time you've plugged in the camera, the computer asks for the drivers, and if they're not available, offers to fetch them from the internet. If it's a Windows XP machine, it will even prompt with a list of things to do with the pictures, like see a slide show or save them to the hard drive.
Plug a digital camera into most Linux distributions and... nothing happens. No confirmation that anything happened, no clue that it's working or not, no suggestion to put in the driver CD, just silence. After a month of working in Linux, I haven't gotten my scanner installed yet just because it infuriates me for the machine to be so unresponsive. Wake up! I'm plugging things into you! New toys! Work with me here! Throw me a bone!
In Windows, copy something, and paste it into another program. It works. End of story. Sometimes it even gets fancy: copy a table in Internet Explorer and paste it into Microsoft Excel, and the results are slick.
In Linux, copy/paste doesn't work out of the box. Copy something in one program, and it's not generally available for pasting in another program. There are clipboard utilities to help automate it, with varying levels of success – or rather, failure. I'll be working right along, getting things done, forgetting I'm in another operating system, but when I go to paste something, bam. Most of the time it works, but sometimes you get the cruel surprise of pasting something you copied much earlier, with disgruntling effects. If I paste one more code sample into a chat window when I was trying to paste a URL, I'll scream. Deep, cleansing breaths....
The Bottom Line
Remember when Windows NT4 came out? It was the second generation (as opposed to NT3.5) of a powerful new operating system that was very picky about hardware and software. At the time, Windows 95 had a much more attractive user interface, ran on more machines, and had a bigger software base. NT4 on the desktop didn't make sense for most users – things like plug and play USB, for example, were out of the question. Over time, Microsoft added enough features, usability, and hardware drivers to NT4, then 2000, and today Windows XP (based on the old NT3.5) is a great desktop operating system.
Linux today is much like NT3.5 or NT4: the underpinnings of a next-generation operating system are all there. Just don't install it expecting all the fit and polish of XP, and don't believe the articles that say the only thing you have to worry about during the migration is which video card you use.
Brent Ozar is a web developer and network admin with recently elevated blood pressure levels and an increasing consumption of painkillers. He can be contacted at email@example.com.
Brent Ozar is a web developer and network admin with life insurance, flood insurance, redundant hard drives, and an emergency bag of clothes & food in the trunk of his car. He can be contacted at firstname.lastname@example.org.