Tuesday, February 27, 2007

Linux just ain't there yet

I'm a huge fan of the concept of free and open source software, which is essentially an inexhaustible free resource that people can use in any way that they wish. The idea of software that can be freely customized, modified, and improved, and that can be scrutinized by anybody, and that belongs to everyone, appeals to me greatly. I try to use open source software wherever possible - i.e. when it is available and when it is of reasonably high quality. I try to use the Open Office suite as an alternative to Microsoft's overpriced Office software. I use 7-zip, Filezilla, Firefox, Thunderbird, GAIM, and even GIMP on occasion.

But the biggie in the Open Source pantheon (ok, maybe after Firefox, but that's still only a browser) is surely the Linux operating system as an alternative for Microsoft Windows (or rather, a GNU/Linux system, if we're going to be pedantic). Now, I've used Linux at uni and at work, but I've never used it on a home PC. The problem is that I am simply comfortable with using Windows (and am competent enough to keep it secure - haven't had a trace of malware or viruses in years) and I can do pretty much everything I need to do with it. The average Linux distribution has a lot going for it though, such as being more secure, customizable, and feature rich than Windows, and it has been improving steadily in the area of drivers and available software.

Switching to Linux from Windows has some major drawbacks though - many applications only work on Windows, especially games and multimedia related ones. Things are done differently and need getting used to - the user interface is different, the system management utilities, the command line, the software installation methods. And there are problems - a lot of this stuff isn't easy to set up and configure, and is sometimes lacking in the documentation department. However, Linux distributions have been continuously improving as home desktop systems, and I've wanted to start using it as an alternative for some time, with the hope that one day it would be my primary system with Windows being used as an alternative where necessary. Linux advocates have been going on forever about Linux being a suitable desktop system, and that it's such a piece of cake to install and configure and start using that there's simply no excuse not to. I figured, now is the time to get totally familiar with Linux.

The first major issue comes with distributions - there are so many groups offering their own customized version of Linux, and there is no clear standard. If you use one Linux 'distro', you might not be familiar with another one, which can be quite different. Different distros have their own strengths and weaknesses. They can have different installers, boot loaders, file systems, GUIs, and bundled applications. Interestingly though, one recent distro called Ubuntu has been gaining popularity and appears to have a large support base, so I picked this as a good one to start with.

I spent ages preparing ('be prepared', as the Scouts say) - I figured out how best to use my existing disk partitions, how to configure the partition manager to set things up exactly as I wanted to, basically the whole installation process. I backed up my boot sector in case the installation screwed things up. I backed up all my data. I burnt multiple copies of the CD just in case it failed on me during installation. And after all that, I was raring to go, I was totally psyched about finally, finally installing Linux. This was actually the second time I'd tried this by the way, the first time ended badly because I didn't really do my research properly and started the process on a whim. The installer for that distro had a bug that required downloading a patch and running it during the installation process, and the partition manager was a nightmare to figure out, so I gave up pretty quickly. I figured I wasn't ready for it, and the distro just wasn't user friendly enough.

This time was supposed to be different, because I was ready, and apparently Linux was ready as well. It was time to throw my weight behind open source more fully, time to broaden my operating system horizons, etc... So, I boot off my Ubuntu Linux CD, and it starts loading, and then... UGH! An ugly screen pops up with an error about the graphics system not loading properly. I start again and re-check the CD using a handy utility that is provided, which reports that the CD is A-OK. I try again. Same result. I try the backup disc I burnt. Disk is OK, same result. So basically, I can't even start the INSTALLER for Ubuntu on my machine. I haven't even BEGUN to install it.

I boot back into trusty Windows (I feel dirty just saying that) and look up the error. It seems some other people have had the same problem. The installer is buggy and it has problems with certain graphics cards. There doesn't appear to be a clear way to fix it. Some suggestions are present on message boards, but people who've tried them have reported failure. An alternative exists involving using the command line to install. I don't want to do this, because I'm not familiar enough with it and it'll take time to read up on it, and if I screw up the partitioning part somehow, I can potentially kiss my Windows goodbye. Besides, wasn't it supposed to be easy? I've heard people claim that Linux distros are now easier than Windows to install. As someone who has installed Windows dozens of times on various machines, both at home and at work, I can assure these people that I have never had an instance where the installer failed to run because of the graphics card. In fact, the default VGA drivers in Windows seem to work fine on just about anything.

Now, I'm not knocking Linux here. Ok, well maybe I am, just a bit. I'm just stating what is obvious. Despite what advocates think, Linux just ain't ready for mainstream use. If I can't even get the installer running on my machine, what am I supposed to do? I don't have any bizarre hardware, it's just a bog standard desktop machine. The Windows setup process may be clunky, but at least it's standard - there aren't multiple distros and installers to contend with, each seemingly having its own set of bugs.

I'm not ready to give up just yet. I'm going to try some of the suggestions people have made online. And failing that, I'm going to look into another distro. If Linux were truly ready for the desktop though, I wouldn't have to. The experience has been really, really disappointing. I may just put together another machine on the cheap that I can experiment with to my hearts content, because I know that with some effort and experimentation (and many, many mistakes), a well configured Linux box is something worth having, and something worth learning about. From a professional point of view, it's something that I really need to be familiar with. From a personal (and I suppose, ideological) point of view, it's something I want to be familiar with. I just wish that my second attempted foray into seriously using Linux at home hadn't ended up being such a quick and decisive punch in the face!


Anonymous said...

I think you deserve a long comment on this one, because it's one of the few posts I've seen that are critical of Linux, but doesn't end with "Right! I'm giving up, Linux is teh suxx0rz!"

I like your enthusiasm and I'm glad you haven't given up yet, but it really, really makes my teeth grind when someone comes with that old diatribe "linux isn't ready for us normal users yet".

It's getting readier and readier, it's just a matter of user motivation. If you had tried to install Ubuntu 3 years ago you would have run into many other problems that are all fixed now. That's progress. I can see linux getting easier and more userfriendly with every update of every distro and eventually you'll find one that suits your skill level.
Might take a few tries. Took me 3 years.

But claiming that Linux isn't ready for the desktop when entire governments around the world are running it and the number of desktop users has surpassed Mac OSX a while ago, is just.. how do I put this nicely? A blatant falsehood.

Linux still has problems with some hardware due to lack of vendor openness in their designs, so yeah, it might refuse to run on your particular combination of hardware. Which is sad, but it's getting better. Everyone realizes that this is the single biggest obstacle for users to adopt Linux, so this is where a lot of developers are dedicating their efforts.

I've been through some 5 different distros now, having to give up on each one because I was a Linux beginner and wanted to use GUI tools and they were all just horribly broken. I tried Mandriva, had to ditch that because the package manager began doing strange and irreversable things after a few months of use. Tried OpenSUSE, ditched that when not a single one of the 'control panel'-like GUI tools could actually do what they claimed they could. I ended up having to edit my Xorg and Samba conf files by hand anyway, so what was the point?

I had managed to set up a Kubuntu server with Apache that just hums away and does its job now, no maintenance necessary, no downtime. It took many weeks to get all the kinks out, but now it just works and all I need to do is update it once in a while. I like the idea of an install-and-forget webserver.

Finally, this New Year I kicked out Windows XP and installed Ubuntu Edgy on my laptop and.. something just clicked. Stuff finally worked. Even the piddly little multimedia buttons that I was sure was not supported in Linux were actually functional.
I got over-confident and installed Beryl, and I haven't looked back. Over a month I got Ubuntu on all my desktop machines, both at home and at work.

It's unfortunate that your graphics card did not work with the installer. I had the same problem when I tried to install Ubuntu 64bit, but choosing a different VGA resolution in the boot menu did the trick.

I tried Ubuntu back when it was Warty in version 4.10. It worked well as a server, but as a desktop linux I just couldn't find all the tools I needed for it. I faithfully tried every subsequent version, Hoary, Breezy, Dapper and finally with Edgy I found that I could use Linux for everything I needed.

all the tools might have been out there already, but that was the moment I was savvy enough to locate them, install them and make them work.
If you want to do anything more than browsing and mail, it takes a while to get into the linux mindset of doing things when you've worked with Windows all your life, but it is definitely worth it.

What I had to realize was that you need to use forums. A lot.
I found that I didn't have to sit and punch keys for hours, trying to figure out how linux works on my own, I could just look it up on a forum.

At that moment I felt the complete liberation of being able to look up a problem on a forum, find a solution I could blindly follow, and just make stuff work. I didn't even have to know what I was doing, which is a very scary thing to get used to when you're already fluent in Windows and feel in total control of that OS.
You have to accept that you're a beginner and just blindly follow advice. I can see why a lot of Windows superusers don't like to do that, they're suddenly in a position where they don't know what's going on in their computer anymore.

I've yet to find a single thing that I haven't been able to do with my linux machine, someone *always* knows how to fiddle with the right knobs and make stuff happen.
People decry Linux for not doing everything that Windows does out-of-the-box as they say, forgetting that they have to install drivers and stuff on Windows to make anything work at all.
A good example: Adobe Flash doesn't work on 64-bit systems because they only publish a 32-bit binary blob for users. Instantly people jump up and down and point their fingers, "AHA! See, I can't even look at Youtube in Linux. It's just not ready for primetime!"
Well, yeah. But if I search on google I find at least 3 different ways of making this work, all in neat "paste this into your commandline and magical faeries will enable your Youtube"-format. So what's your excuse for not just following those instructions?

No matter what problem I've run into with Ubuntu, someone has been there before and written a howto.
That alone has been worth 3 years of frustrations at not being able to get linux to work right. I've now reached a point where I don't rely on Microsoft or any other proprietary product. All I pay for my new computers is for the hardware.

Antimatter said...

I have replied to this comment here.