Wednesday, August 23, 2006

Linux has almost passed puberty

Last week, someone recommended a Linux distribution to me. This was the Ubuntu live CD distro, that is bootable off a CD and is immediately ready for action. I decided to give it a try. This is a write-up of the past two days where I played with it.

Linux in the past

Now before I launch into the boxing match I had with this CD, let me explain my past experience with Linux. About six years ago, when all I had was a crummy Pentium I laptop, I tried to make Windows 98 dual-boot with Linux. I tried no less than five different distros and all of them messed up in one way or another. Redhat, 2 versions of Mandrake, SuSE, Slackware with X... no go on each one. Either it didn't recognize half my hardware, or it failed to boot, it failed to leave Windows alone, it failed to let itself be configured by a Linux newbie like me, or installing it was just too incomprehensible. I concluded that Linux was not ready for the desktop by a long shot and vowed to never try it again.

Years later, I decided that it was time to take it for another spin on my new desktop system, seeing that there was this thing called Knoppix Live, which allowed you to try Linux from a CD, without changing anything on your system, bla bla bla, the usual. While the CD booted nicely and recognized most of my hardware, the UI problem was still there - I gave up when I had to reboot in order to change the screen resolution, which is useless since the whole thing was on a read-only CD. I know you're going to shout at me for not knowing the keyboard shortcut for restarting X without rebooting the entire system, and I don't care. I'm a Linux newbie. If I can't work it, it's not ready for the desktop yet.

What I want from Linux

Now, another 3 years later, I hopefully burn the Ubuntu ISO to a CD, slam it into the CD-ROM tray of my brand new laptop and reboot the system. I'm mildly excited. I have several general goals and expectations of this Ubuntu thing in my head that I want to achieve and see:
  • I want Ubuntu to recognize all my hardware, including the Intel wireless network card and the plug-n-play wireless USB mouse I have.
  • I want to be able to access my NTFS Windows partition.
  • I want to find, install and be able to use the same (or similar) applications that I am using in Windows XP. These include:
    • A good browser. Opera is my primary choice, but FireFox will do.
    • A P2P program to connect to my DirectConnect hub. I know about Valknut and I'm going to try it.
    • An IRC client. I'm used to mIRC so I want one with a similar feature set.
    • An FTP client. Before I rebooted, I was uploading a few things to our home entertainment system computer. I want to resume those.
    • An multi-IM client. I'm used to Miranda. I know about GAIM so I'm going to try that.
    • A proper music player. I use Winamp almost continuously to listen to Shoutcast radios, as well as play MP3s. I heard about XMMS and seen it a few times. It looks a lot like Winamp so I'll try that.
    • A file manager. I'm used to Total Commander but I doubt something that advanced is available in Linux.
    • An easy-to-find command line. I know how Linux is centered around the command prompt more than Windows, so I want to use that.
  • I want to be able to achieve all of the above, without rebooting. (obviously)
All in all, these points are what I expect an average user would want to be able to do with Linux: getting things to work like they do in Windows, in a comparable amount of time.

The Linux Experience

[Hardware] The CD boots nicely, though the boot process is an ugly mess, with screens ranging from text scrolling past on a black screen right up to a GUI progress box with sound (ooh pretty), then back to text, back to the GUI, etc. But it works. I'm slightly more excited. The desktop looked like this, nice and clean.
First on the agenda is getting the Interweb to work. I'm baffled to see that just inputting the SSID and WEP key (bite me) works right off the bat. This is even better than Windows, where I need an installation CD, a migraine and three reboots to get the wireless network card working. Very nice.
[IM] Next up: GAIM. I've got a friend who uses it exclusively and it works very good. MSN is up and running in no time at all. No MSN avatars, but that's no disaster.
[P2P] Foolishly, I skip right to Valknut. This is where it gets ugly. The homepage for Valknut has no Ubuntu option, but after a bit of digging in the online Ubuntu help I learn that Ubuntu is based on Debian, so I pick that option instead. Unfortunately, the development page for Debian Valknut is dead. Hmm. Being the clever chap that I am (i.e. moron) I download the Valknut source and try that.
After a bit of reading I am greeted by an error message 'bash: 'make' command not found'. Uh. I thought that was the point of open source? Compiling things yourself? Apparently not. The Ubuntu folks probably didn't think someone who boots Linux off a live CD is going to compile things by himself. Curses.
This must be a nightmare to Gentoo users

By now it's near midnight and I need to get up early for work tomorrow, so I call it quits. I reboot and remove the CD.

End of day 1.

Next day, I decided to give it another whirl. Insert CD, reboot, start Ubuntu, setup wireless network, and on to the less obvious tasks. GAIM once again signed on perfectly to my MSN Messenger, ICQ, AIM and Yahoo accounts. GMail/Jabber did not.
[Music] The standard music player is Rhythmbox Music Player, which refuses to add my favorite Shoutcast station to its list of 'radio stations'. The Add/Remove Applications tool (which is very good) shows that XMMS can also be downloaded and installed, which I do. XMMS also won't let me add a Shoutcast station.
Well then, on to the music that is already on my drive. Since it wasn't auto-mounted (mounting is pretty hard for newbies like me) I searched the Ubuntu documentation for something that would. A script to mount all drives was quickly found, and surprisingly I was able to download and run it. A minute later I'm listening to the soundtrack of Pirates of the Caribbean. Nice!
[P2P] Now that I've got some music, I decide it's time to try Valknut again. Skipping the Valknut homepage, a Google search for 'debian valknut' has more success. One .deb package later and Valknut is running! No wait, it's not. It needs a few packages on which it depends. Easy enough to download and install them, but some of them require additional packages. Fortunately this doesn't devolve into a maze of dependencies and version conflicts and Valknut can be persuaded to run after four or five extra packages. Another goal achieved. Something to remark here that caught my attention: there seems to be no difference between a folder with execute rights, and an actual program.
The Valknut client itself seems pretty poor. I can't find tabs, accidentaly close it at least half a dozen times, it has no system log or visible system status, doesn't accept custom commands or user commands, etc. But it works. I can chat and I can download.
[IRC] Searching the software installation list yields something called 'X-Chat'. I heard of that so I install it and run it. The design is different from mIRC and it's a bit clunky. The usual networks I frequent are not in the list so I have to add them to the server list, instead of just being able to type /server irc.server.com like I'm used to. An incredible stroke of luck is stumbling upon a #linux help channel with some helpful people, which speeds up my progress.
[browser] Right about now I decide it's time to try Opera 9 for Linux. Firefox is great, but I really prefer Opera. There are 5 different Debian versions and 3 different Ubuntu versions of Opera, so I pick the latest Ubuntu one.
Stupid dependencies!
However, I run into something strange here: quirky dependencies. Opera requires some 'libqt' upgrade, but since the older, existing version is used by Valknut, it requires I uninstall Valknut?? It's almost like Ubuntu wants me to use Firefox. Fine then.
[File manager] I touched on this yesterday so I'll install it again: the Thunar File Manager. The file structure system of Linux is an absolute maze to a Windows user, and I keep forgetting where my mounted drives, my desktop and my home folder is. I need bookmarks. Thunar works pretty well though.
[Terminal] I'm making good progress here, even considering it's my second day on this. The Terminal is in the default application menu so no worries there. It seems I'm logged in automatically as some kind of limited user, and that the root account has no password. So anything I do in 'system settings' that needs root access only requires me to click 'Approve' and it works. Anything in the command prompt only requires 'sudo' in front of it. It's easy to work with, and I'm not working as root (which seems to be important in Linux).
[FTP] Last is the FTP client on my list. The application list recommends (i.e. lists as my only choice) gFTP so I get that. It works like a charm and resumes my uploads flawlessly.
It's almost midnight again so I sign off GAIM, set Valknut to away mode and close the lid. This was.. fun. :)

Conclusion


All in all this was the most successful I have been with Linux so far. Seeing how it boots from CD, I don't have to meddle with the installer, partitioning or dual-booting. Since both my hardware and the Ubuntu CD are new, everything is automatically detected. Desktop Linux has become way better, but it's not ready yet.

Pro:
  • Hardware detection is excellent.
  • User support is great if you know where to look.
  • Everything is customizable. The default settings may not be the best, but most are very well thought-out.
Con:
  • No consistency. I installed about 8 programs, and 5 of them have differently-styled GUIs, ranging from extremely large-font and ugly (Valknut) to insanely small (XMMS). The WiMP styles vary wildly.
    Three different windowing styles

  • File and folder organization is very, very different from Windows. I keep losing my way.
  • When you don't know how to do something, there is hardly any guidance. When you do something wrong, there is hardly any explanation.
  • Performing basic tech tasks, such as determining the kernel version or memory usage are not as easy as they seem.
My answer to the question 'is Linux mature yet?' would be 'almost'. The user experience has improved vastly since the early years of Linux, and a lot of Microsoft Windows features have been mimicked (which is good). On the other hand, some things still need work, like consistency, standards and help.

It's clearly almost ready for the desktop, but not yet. Maybe I'll do another test drive in a few years and see if it's ready then. :)

No comments: