Ubuntu, the real alternative ?
Feisty Fawn, a renaissance
Sometimes in life, you come to a crossroad and you are forced to make a decision, whether you like it or not. Once such instance has arrived for me when I was looking for a new small laptop that would accompany me everywhere I go, and become my personal mobile productivity station. Ideally, I would have happily coughed up a princely sum for an Apple sub-notebook which runs OS X and sports a solid state flash drive. However, this is not something Mr Jobs' design department even acknowledges, so I am not going to sit there and wait for a piece of vapourware, no matter how likely it is.
What about a small laptop ? No thank you. They all come with Vista installed by default, and I am not paying Mr Gates any more taxes, if I can help it. (Of course, the other reason is if I like the new user interface that much, I'd be better off going for the original, namely a Macbook).
As it happens, I came across a very decent batch of old IBM Thinkpad X30 laptops, which sport PIII 1.2GHz processors, 512GB of memory, and 40GB of hard drive. Now the factors that impress me about these units are:
- lightweight (1.63 kg)
- sturdy (encased in Titanium alloy, would you believe)
- build quality (it's an IBM !)
- small form factor
- reasonably priced (well at least these secondhand units anyway, I can easily get a handful of these for the price of an entry level MacBook)
- decent hardware specifications
- memory and hard drive both upgradeable
Most people will be laughing at the above specifications and inform me that it will not be able to run either Windows XP or Vista at any decent speed, and they'd be right. As an indication, the default XP installation took around 20 seconds to boot. However, after the Service Pack 2 (109MB and two hours later) was installed, that rocketed up to at least 45 seconds. Do you think SP2 zips up everything on the laptop and sends them back to Redmonds each time I boot up ? It certainly feels like it, the way it churns my hard drives !
Anyway, I decided to install Ubuntu Desktop (Edgy 6.10) on these laptops. It has been famed as the alternative to Windows, but is able to breathe life into out of date machines such as these Thinkpads I have in my possession. I usually use Mandrake, which is based on Red Hat distribution of Linux, so this Ubuntu is completely alien to me (Ubuntu is based on Debian Linux, not Red Hat). Towards the end of the article, I have included the technical details regarding things which need to be tweaked post installation, together with applications which I deployed to eliminate completely my dependency on Windows. It is useful for those who have been on the verge of discovery, but have not yet taken the plunge.
People say Linux is more difficult to install than Windows, but then again, I'd like to ask these folks how often they have had to install Windows. Usually an Intel based PC or laptop comes with Windows pre-installed. I have had the privilege, or misfortune, to have had to do both (I usually build my own desktop and server machines). Granted, deployment of Mandrake Linux is non trivial, and I would not recommend that to even an intermediate electronic enthusiast. However, I would venture to say Windows gives me just as much pain as Linux, and it certainly asks me to reboot many more times than Linux in the installation process. Linux, on the other hand, requires minimal competence with a terminal window, some keyboard interaction (shock horror !), and familiarity with 'ls','cd', and 'vi'.
Ubuntu is unfamiliar to me, so I decided to let it run its course, then come in afterwards and tidy up. The Thinkpad X30 does not come with a built in CD or DVD drive, so the first thing to do in order to get it to boot off the Ubuntu CD is to improvise and make myself a makeshift CD drive. I happen to have loads of old IDE CD and DVD ROM drive lying around, the result of upgrade and obsoletion over the years. So, in order to get it to communicate with the X30, I grabbed my USB backup drive, ejected the IDE drive inside, and plugged in the DVD ROM drive, et voila! a bootable USB DVD drive. The Thinkpad automatically boots off this drive once it is plugged into one of the two available USB ports. The Ubuntu logo appears and off it goes.
After some churning and grunting, the screen appears with the familiar Ubuntu desktop and an icon labelled 'Install'. Double clicking on the 'Install' and off it went. The only things you have to enter are usual stuff like who you are, what you want your machine to be called, and how much of the hard drive you want to give Ubuntu. That is all. The rest happens all unaided (although see my notes at the end regarding backtracking), and you end up with a dual boot machine. Ubuntu is the default boot, Windows is the other boot. You can swap them around, of course. For a hands free installation, this is all I ask for. It recognises all the hardware and installs drivers for them without prompting me for the driver CDs (Windows barfed on the wireless LAN card and my laser printer, for example). The default desktop has Mozilla Firefox browser and Evolution mail client readily configured.
I have been using Ubuntu for the last few weeks, and have not for a moment regretted the decision. It is more stable, has a familiar look and feel, and to cap it all, I am less worried about clicking on to something nasty and sucking down some undesirable payload (just to clarify, you can still suck down the nasty payload, but the chances of it being able to wreak havoc on your network, or silently log all your keystrokes and send them to the some remote server without you knowing are pretty minimal). Ubuntu is very snappy even on the Thinkpad X30's modest hardware. The no gimmick user interface is refreshing, and the support from the Ubuntu on line forums beats that of some paid for dedicated support mechanisms.
So has Linux moved on since I last looked at it ? In my opinion, most definitely. I have always been a fan of Linux on the server side, but the desktop has always frustratingly lagged behind its Windows counterpart. Well no longer, I am comfortable making the switch, and the suite of requisite applications that must work for me is fully available on Ubuntu (I will go into the technical details below for those who are interested). I felt like being vindicated when I spotted a couple on the train who were also running Ubuntu on their laptops. Maybe the tide is changing !
Applications I need
||tab browsing, mouse gestures, built in GoogleSuggest toolbar,magnifying glass (CTRL + and -)
||you can save files in native ODF (Open Document Format) or in Microsoft Office format. OpenOffice has a prolific set of filters which allow importing and exporting documents to and from a lot of different Office Suites, even some obscure and ancient ones
||supports Layers as in PaintShop Pro
||RSS news reader and aggregator
||This is the equivalent of Palm Desktop on Windows, and feels much snappier when used. If you just want to synchronise with your Palm handheld without a desktop application, there is Kpilot, although it looks out of place under a Gnome environment
||seamless integration with my Palm devices, importing Calendar, AddressBook, ToDo etc. If you just need a mail client, I'd recommend Mozilla Thunderbird, which has a more intuitive interface. Also, I found that Evolution periodically hiccups, completely freezing out my keystrokes, only to catch up with them after a few seconds, extremely annoying!. There is a hotsync plugin to synchronise with Palm devices to Evolution
||has SystemTray tooltips when a message comes in and you are not in focus. Also the ability to group contacts. Both of these features are surprisingly missing on my Windows version
||GAIM or Kopete
||Yahoo! runs on FreeBSD Linux, and yet their Linux Instant Messenger is not even working on Ubuntu (at least the one from their official download site). GAIM is ok, but does not support all the Yahoo! bells and whistles (like Avatars), and has no remote keystrokes indicator. Kopete is a KDE application, so looks odd if you are running under the default GNOME desktop
|Windows Media Player
||Totem Movie Player or VLC
||this is a bit of a hassle. The default Totem installation does not work for any of the mpeg and avi I have. To get it to work, you have to install totem-xine, libdvdcss2 and w32codecs (these are licenced packages, and are thus not included in the default Ubuntu package repository). You need libdvdcss2 and w32codecs for VLC too. In fact, no sound or no video without these two packages, it seems
|Java 1.5 Plugin
||Java 1.5 Plugin
||Incredibly, the Ubuntu version is nicer, in my opinion, than the Windows version. The navigational controls are overlayed over the Earth image, instead of being at the bottom of the page. When you hover over this region, the tilt, pan and size handles automatically appear transparently and superimposed over the image, making the interaction much more intuitive.
Post installation tweaks
- Support for the scroll wheel emulation on a wheel mouse is enabled on the middle button by adding the lines in red to the /etc/X11/xorg.conf file:
Identifier "Configured Mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
Option "Emulate3TimeOut" "100"
Option "EmulateWheel" "on"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"
- Support for suspension and resume is enabled by adding the option acpi_sleep=s3_bios to the kernel parameters in the /boot/grub/menu.lst file, on the entry under the ubuntu generic boot section:
kernel /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro
kernel /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios
Failure to do this will cause the whole laptop to lock up while doing a resume. It should be noted here that the length of time the laptop spends in suspension seems to have a direct bearing on how likely it is to lock up during resumption. So if I leave it suspended overnight, it is more likely to give me a black screen on resumption than, say, for a couple of hours. The acpi_sleep parameter above seems to do the trick for me, but you might also need to blacklist devices which you know might cause problems with power resumption
- If you set the laptop up to be dual boot for Windows and Ubuntu, you can configure it so that Ubuntu mounts the Windows partition under a directory in its file system, allowing you to read from the write to the Windows partition (to access Ubutu drives under Windows is a different problem altogether !). I follow the instructions here, and it works pretty well, apart from a couple of caveats:
- There is no need to reboot at the end (reboot is a very Windows mentality). You can simply run the command sudo mount -a
- When you create the link from the binary /usr/bin/ntfsmount to /sbin/mount.ntfs-fuse, you will need to replace the ln command with ln -s if the two binaries are not on the same physical partition (you will get an error about cross partition linking)
All in all, Linux is ready for the desktop limelight, in my personal opinion. Sure, there are still a few small kinks which need to be ironed out, but it has gone a long way from the days where the installer has to drop back to a shell terminal and type in unintelligible commands to advance the installation to the next stage. As a consumer, I identify my computing needs, and surprisingly, my needs are overwhelmingly satisfied by a standard Ubuntu installation with a few small tweaks. I am happy to adopt this configuration because the pain threshold is still way lower than the alternatives, namely a bloated Vista, or a purist's OS X.
- Backtracking while partitioning the hard drive. This does not work ! Each time you specify the partition sizes and then click 'Forward', the installation program will immediately perform the partitioning, with no chance to roll back. So if you think you have made a mistake and try to click 'Back', you will actually be presented with the newly created partitions as the starting point, instead of how it was before installation started, so be warned !
- If you only have one logon to the machine and you mess it up, you could find yourself in a situation where you no longer have root privileges. You can not login as root either (a very good default security feature in Ubuntu, or Debian in general). In such a case, do not panic. Remember the boot screen Ubuntu created for you which allows you to boot either 'Ubuntu Generic', 'Ubuntu Recovery Mode', or 'Windows' ? Well, the recovery mode option is exactly meant to be for such an emergency. If you boot the machine up in Ubuntu recovery mode, you will be logged in directly as root, where you can enable yourself as an administrator once again (the command is sudo adduser fred admin, assuming your name is fred, of course).
- There is this big contention problem with the ethernet circuitry in the Thinkpad X30, where the Windows driver and the Linux driver simply do not play nice with each other. The glaring evidence of this is if you boot up Windows and then Ubuntu, or the other way round, chances are you will not be able to access the internet at all in whichever OS which is the latter boot target. Something is simply not reset completely in the networking layer in between. In such an event, you are advised to unplug both the network cable and the power cable for 30 seconds to make the electronics 'forget' whatever it was doing before and allows it to work correctly in the new boot target. This problem besieged me the first time I tried to install Ubuntu, with the consequences completely baffling because it is apparently unrelated to the actual cause (all I got after the installation CD booted up was a blank Ubuntu screen with no windows and no icons, go figure !).
Feisty Fawn, a renaissance