Linux on A Laptop: A Tinkerer’s Journal

Today, there is no shortage of reviews on Linux on the Desktop, but I think we can benefit from more “Laptopized-Linux” experiences. As laptops keep dropping in price and increasing in terms of computing power, they really make a nice platform even for cpu intensive applications such as sofware development, desktop publishing, web design, etc. And as you will see in this article, installing Linux on a laptop is not as hairy as you may think.

I recently had the opportunity to setup a new Linux-running laptop after the demise of my trusty Sony Vaio. The goal of this article is to learn together from the ups and downs that I’ve gone through in installing and using Linux on the new laptop. In summary, it’s light-years on the positive side compared to just a few years ago.

NOTE: This article is written based on the experience of using Linux on a laptop in a full-time (8 hrs a day) job as a Senior Developer/Build Manager of a software development shop.


Choosing a Distro:

Having cut my teeth on Slackware, Caldera, Redhat, SuSE, Mandrake, (and in more recent years, Gentoo and Knoppix) I have gone through pretty much all flavors of major distributions, therefore in this article, far be it for me to inflame the “oh-so-combustible” distro-war. Having said that, I chose Ubuntu “Warty” as the distro for the following reasons:

1. Ubuntu being pretty recent, has a huge selection of mature applications. Many have said that Ubuntu provides a pretty seamless desktop experience. I just have to see it for myself.

2. Knowing that Ubuntu is also debian-based, is enough to give me another reason to try it. Let me explain: For those who are new to Linux, one of the joy of using Linux is the freedom to choose from the ungodly amount of free applications out there. So having a robust and reliable package manager is a paramount matter. My recent experiences with debian-based distros like Knoppix have made me fall in love with the apt-get package management system in terms of reliability (90% of the time it does what it says it will do) and robustness (recovers from errors without messing up the whole system). I have been “dependency-burned” a few times using rpm-based package manager in my Redhat, SuSE, Mandrake days, but on the other hand I also have good friends who swear by it, so again, no distro-war here. NOTE: I read several reviews that mention debian in a bad light regarding ease of use, to that end, I suggest using Synaptic (type in: apt-get install synaptic), the front end to apt-get.

3. Since my SuSe days, I’ve been using KDE as the Desktop Manager. When I tried Gnome many years ago, I remembered it as a non-attractive alternative for KDE. So when I found out that Ubuntu is using the latest version of Gnome as the DM of choice, the tinkerer in me just can’t stand the temptation to revisit Gnome. And boy, I am impressed. Now, before you KDE fans start typing nasty comments, read on and discover that KDE comes into the picture just fine later in this article.

4. Why not Ubuntu “Hoary”? It’s not officially out yet at time of writing. Yeah, I’m rather dissapointed too, I heard it’s supposed to be quite an improvement from “Warty”.


Choosing a Laptop:

After drooling over the IBM Thinkpad T41p for months, I decided that I’ve got to have one someday. Unfortunately that day is not today, the $1000 extra price tag is enough to motivate me to find an alternative. Enter the HP dv1000 series (dv1156cl to be exact, but hey, who’s counting?). It is recent enough (with all the bells and whistles that you expect from today’s “multimedia” laptops). It is light enough at 5.5lbs, it is powerful enough (1.7Mhz Pentium M, 512MB, 60GB HD), and it is attractive enough (if you squint your eyes hard, from a distance, it looks like a 15-inch PowerBook <more droool!!>) with a beautiful glass-like wide-aspect-ratio screen and a sleek silver outer finish. Internal wi-fi, dvd burner, harman/kardon speakers, QuickPlay(TM) feature, and memory card reader sweetened the deal. I’m sold.

NOTE: Ever since I bought this laptop, I see a guy/gal with Thinkpad in *every* darn Starbucks(TM) that I visited. There they are, typing away… mocking me, taunting me…

The Installed OS:

Like every good Microsoft-agreement-bound PC manufacturers, HP preinstalled the Windows XP Home SP2 with my new laptop. What to do then? Well, simple enough, I decided to go with dual-booting. I still need Windows because some of the software that I wrote runs on Windows and I am still working on them.

I went online and actually found couple of reviews about installing linux on this particular laptop. I eagerly read all of them but I got mixed signals, one guy can’t resize the Windows XP partition successfully using Partition Magic, the other had the hard drive repartitioned from the factory. So I am back to square one. Then after searching some more, I came across this site, which assured me that NTFS resizing is completely doable from linux, which is good because I have no desire to fork out money for Partition Magic. The site also suggested this cute linux distro.

After downloading the .iso and burning it onto a cute 180MB mini-disc (yes, I’m a sucker for cuteness), I inhaled deeply and stick it into my new laptop to boot from. No go! it hangs when attempting to detect some pci stuff. Then, tapping into The Force (also known as “Google” lately), I gather that I need to put “noapic” as one of the kernel parameter when booting. While I was there, I also disable the network detection (using a nice curses-based menu interface, I might add) because all I’m interested in is repartitioning the hard drive. Voila! a minute later, I’m in.

Then, firing off QTParted (by typing run_qtparted in the prompt), I proceeded to resize the Windows XP partition. Simple, eh? well hold on, QTParted said that it can’t resize the partition because of some “accounting error.” After scratching my head and mumbling inside “what on God’s green earth does accounting has to do with a disk partition??,” I searched the net and found out that the error basically tells me that I need to run chkdsk from Windows. True enough, after rebooting into Windows, chkdsk /f detected and recovered some lost sectors. And then I was able to reboot, rerun QTParted and resize the partition without a hitch.

NOTE: Wait a minute, doesn’t this mean a linux program just correctly detected inconsistencies on a Microsoft proprietary file system? Amazing isn’t it!

Lesson learned:
– “noapic” is typically required as boot parameter when installing Linux on laptops
– QTParted is able to safely resize NTFS partitions (no partition move, though)
– Sys Rescue CD (very small) rocks!!


Installation Experience:

Having created a living space for Ubuntu, I went ahead and pop in the Ubuntu disc — which unlike Knoppix, will fit in a 650MB disc — and then rebooted. Greeted with the Ubuntu boot screen, I eagerly watch the boot process scrolls by until it hits a snag… duh! didn’t I learn anything, I forgot to put the “noapic” parameter! By the way, I connected the laptop to my local network, thinking that there is *no way* Ubuntu will be able to detect let alone automatically install drivers for the internal wireless adapter (more detail on this in the “Hardware” section below).

Another thing that I notice about Ubuntu installation, I did not experience file copy errors that I usually see when installing Knoppix. Before you guys say “it’s your cd-burner, dude!,” may I point out that I use the same one to burn the Ubuntu disc.

Since you guys can read the numerous Ubuntu installation experiences, (you can’t throw a stone without hitting one of them Ubuntu reviews these days) I won’t belabor on the installation process itself. Suffice to say that it’s pretty uneventful (I like it that way), Ubuntu detects automatically the network cards (both the wired and the wireless), the sound card, touchpad (even the turn-on/off button works), the only abnormality is the laptop’s unusual resolution (1280×768), Ubuntu does support 1280×800 (ouch!). Thanks to the info in this review, I was able to tweak the XF86Config-4 and Hello… native resolution!

Lesson learned:
– Advantage from Knoppix: no file copy error when installing (same CDROM burner)
– Unusual video resolution requires a custom entry in the XF86Config-4


Hardware Experience:

Allright, let’s go through the list of hardware on the laptop:
Battery life – check, Ubuntu automatically provided an applet that shows the percentage of battery life. Very cool!

Power Management – uncheck, although the battery has the same duration regardless on Windows or on Linux, I notice that the Fn-F5 combo that is supposed to trigger hibernation doesn’t work in Linux.

Scanner – check, XSane is a “sane” scanning program, it even has a built in OCR feature. Awesome!

USB Drive – check, the usb-drive is automatically mounted on the Ubuntu desktop. As expected, good job!

Wireless network adapter – almost-check, Ubuntu detects and installs the correct kernel module driver for the laptop’s internal wi-fi adapter. It also provided an applet to show the connection strength (quite impressive!) However, I have to create a script that actually gets a dynamic ip address from my dhcp server:

#!/bin/sh
# replace BLINGBLING with your wireless network’s name
# replace ENCKEY with your encryption key
iwconfig eth1 essid BLINGBLING key ENCKEY
ifconfig eth1 up
dhclient eth1

Although it seems like a bother at first, I kinda grew to like it this way, it’s convenient to be able to activate and deactivate the adapter. More on wireless experience below in the “Application” section.

Touchpad – almost-check, although it works overall (even the special region for vertical scrolling), tapping on the touchpad acts like middle-click, not left-click as expected. I installed a nifty front end to the Synaptics driver called “qsynaptics” but still it doesn’t help (the program reported the correct mapping to left-click, but it’s still behaving like a middle-click).

Printer – check, I was able to connect and use the network printers at the office (HP LaserJet 6) and a Brother HL-1440 at home. Impressive!

Firewire – unknown, I don’t own a video camera nor external HD, thus I can’t test it

Speaker – check, the harman/kardon brand doesn’t dissapoint. The sound is good enough even for watching DVD’s. Not bad at all!

QuickPlay(TM) – check, this is a neat feature (unique to this laptop series, as far as I know) that allows you to watch DVD or listen to music without booting into Windows (or Ubuntu). This feature is undisturbed by my installing Ubuntu. NOTE: Ironically, it works by using linux in a small separate partition.


Application Experience:

Now, here’s the fun part, this is where we actually get our jobs done. I thought coming back to Gnome after so many years using KDE would be a “culture shock” for me, that wasn’t the case at all, I think the Gnome team has done a great job by sprinkling easy to access menus to the typical Desktop and System configurations. This makes the transition really painless for me. In addition, I love how Gnome handles compressed files, it offers to open downloaded compressed-files in nautilus so I don’t have to put it in a temp directory and delete it later. Nautilus also provides a context menu for creating archives. What an improvement!

One thing that takes some getting used to is the Apple-style dialogs that is quite different from Windows Explorer-style on KDE. Also, I immediately set Nautilus to “always browse”, so it won’t open a separate windows everytime I go up and down the directory structure. I know that this is touted as the “spatial” feature, but I personally just can’t stand it. If I wanted a separate window, I’ll click it out of you, Capt. Nemo. (hehehe, got it? Nautilus… Captain Nemo… no? …ehm, forget it then). I also like the ability to type nautilus . on a terminal to pop up a Nautilus browser on the current directory. It’s one thing that I like in Windows (except of course you type explorer . instead of nautilus).

The usual suspects such as Firefox, OpenOffice, Evolution, Gimp, etc. all run as expected. No surprises there. On to the meat and potato (at least for developers like me) that is Software Development tools. My main weapon Python is installed by default, no problem expected, none sprung out. Next, how can I get Java? Traditionally Java is a bit of a pain to install due to the fact that it is not Open Source. However, thanks to Ubuntu’s community, installing Java on a debian system is easier than ever, just follow the instructions here. Soon I was able to download Eclipse 3.01 (see screenshot) and Tomcat 5.5 and be on my merry way to develop web-applications.

Next, installing Subversion and RapidSVN is also easy with Synaptic. I was also able to install a VPN client to connect to my office when I need to work from home (details below).

To satisfy my desktop publishing craving, (not really, I have been working on a white-paper for the PM methodology that I’ve developed) I am using Scribus. An excellent Open Source DTP (Desktop Publishing) program that outputs professional quality PDF files suitable for publications. One of the main requirement for DTP is the availability of quality fonts. Ubuntu is especially cool in this regard (even compared to Knoppix) because the MS Core fonts are installable using Synaptic and are automatically registered to the XFont server so they can be used immediately in programs like Scribus, OpenOffice, etc. As you can see from the screenshot, the wide-screen aspect ratio of this laptop makes it extremely convenient when working on two facing pages.

Another excellent program that I use in conjunction with Scribus is Inkscape. This is one of the easiest to pick up vector-based drawing program. It’s using the new SVG format that is based on XML. This results in an open file format where you can actually use a text editor to modify the graphics file. So let’s say if you change the spelling of your company from “Acme” to “Acne”, and you’ve spent 100 hours creating a very intricate logo using Inkscape, you can simply go to the file and replace every occurrence of “Acme” to “Acne” and your logo will be modified instantly, you don’t even have to startup Inkspace to correct it. How cool is that? Here’s a screenshot with a diagram that I’ve created for my project’s documentation:

One of my biggest dissapointment with Gnome is that there is still not an easy way to edit files located in a remote machine. Since that is what I mostly do at work, I need this capability badly. Fear not, KDE comes to the rescue. First I installed Kate (my editor of choice in Linux) and when I tried to open a remote file, I was told that “kio slaves” are not present. Hmm… could it be that “kio” stands for KDE I/O something? following this hunch, I typed in “kio” in Synaptic, and sure enough, I can install it separately from KDE and it allows me to open a remote file using the fish:// protocol in Kate.

Awesome! Big kudos to the KDE team on modularity! I hope this serves as an example to illustrate that the KDE vs Gnome “Mine DM is better than Thine” arguments are pure silliness. The main beauty of using Linux is the flexibility to choose what works for you, and sometimes the answer is to use both.

Here’s another shot of Gnome running KDE apps, with MC in the back, and Kate in front showing some Python code on the top view and this article on the bottom view.

NOTE: Another program that also allows me to traverse remote filesystems is the venerable Midnight Commander.

So far there is only one negative experience that I have. It seems to stem from a driver conflict or a bug in Gnome that causes a very frustrating behavior. Some applications (gnome, nautilus) but not the others (firefox, synaptic, kate) hangs for a long time (10-20 mins) before they come up, sometimes Gnome pops a message saying that the application has crashed and offered to report it as a bug, which I gladly did, however, bug-buddy (the bug reporting tool) hangs for a long time and it crashes too. This leads me to believe that the affected applications are deadlocking for a resource that has to do with either a working eth1 (wireless) or the non-working eth0 (wired) connection. I have reported this as a bug to the Gnome team, so far I haven’t heard anything from them.

Although you can argue that a problem with wireless will shoot down any reviews about Linux running on laptop nowadays, we need to keep in mind that built-in wireless hasn’t been around that long. We need to give time to the Linux developers (kernel, drivers, DM, distro, etc.) to work out the kinks. And I’m sure as it has been demonstrated consistently in the past, this problem will be resolved probably sooner than we think. I for that matter, am willing to wait.

These are several reasons that this problem doesn’t become a showstopper for me:
1. This only happens when I use the wireless network. It never happens when the laptop is wired to the network. Neither when the laptop is not connected at all.
2. This only happens to applications that I do not use regularly (except nautilus file browser)
3. I hope Ubuntu team take a note of this and will be able to fix this themselves (or help the Gnome team) in time for the next version (Hoary).

All Work and No Play Makes Us Dull Geeks, right? so I have to throw in some multimedia goodness into the mix. I love the Sound Juicer ripper that is installed by default by Ubuntu because it outputs .ogg by default and it does what it supposed to do without clutter and hassle. I settle down with Beep Media Player (BMP) to listen to music (.ogg files of course). For some occasional adrenaline rush, I was amazed that I can play Tuxracer on the supposedly very dinky Intel Extreme 3D Accelerator that comes with this laptop. As for DVD’s, I find myself using the QuickPlay feature quite a bit. And since it’s running on Linux, it just adds to the “coolness” factor.

NOTE: Lest you guys think I am a complete wimp, I *do* have a gaming rig at home, but that’s for another article.

Lesson learned:
– nautilus . (a’la explorer .)
– ms core font is installed automatically (better than Knoppix)
– Gnome cannot edit remote file (over ssh)
– KDE to the rescue
– Midnight Commander to the rescue
negative experience with some Gnome “native” applications (gedit, nautilus) hanging when the wireless networking is active
– VPN Connection works after installing the “tun” loadable kernel module. I was able to install “vpnc” and connect to my office’s VPN server from home
– Rippin’ Sound Juicer CD ripper


Conclusion:

Linux has gone a long way from where it was just a few years ago in terms of laptop installations, ease of use, application choice, and maturity. I am but one of the living proofs that using Linux both professionally and personally is not only making sense but is also a joy. The breadth of applications that are available and their quality is a great testament to the Open Source movement which Linux has helped to pioneer. The fact that amazes me so much is how smooth the experience of installing and using Linux on a laptop. Despite some to-be-expected rough edges, it has exceeded all my expectation and I am actually proud to show my laptop to my Windows running colleagues and be able to debunk the myths that Linux is not useable on the desktop (let alone on a laptop).

About the author:
Will Gunadi is a Software Developer by trade and a certified geek at heart. When he’s not writing or tinkering with the latest Open Source software, you may spot him with his camera. Will lives with his wife and daughter in Dallas. His blog can be reached here


If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.

61 Comments

  1. 2005-04-05 2:22 pm
  2. 2005-04-05 2:30 pm
  3. 2005-04-05 2:30 pm
  4. 2005-04-05 2:35 pm
  5. 2005-04-05 2:44 pm
  6. 2005-04-05 2:55 pm
  7. 2005-04-05 3:00 pm
  8. 2005-04-05 3:04 pm
  9. 2005-04-05 3:05 pm
  10. 2005-04-05 3:15 pm
  11. 2005-04-05 3:16 pm
  12. 2005-04-05 3:17 pm
  13. 2005-04-05 3:29 pm
  14. 2005-04-05 3:33 pm
  15. 2005-04-05 3:33 pm
  16. 2005-04-05 3:36 pm
  17. 2005-04-05 3:52 pm
  18. 2005-04-05 4:00 pm
  19. 2005-04-05 4:09 pm
  20. 2005-04-05 4:14 pm
  21. 2005-04-05 4:21 pm
  22. 2005-04-05 4:24 pm
  23. 2005-04-05 4:25 pm
  24. 2005-04-05 4:25 pm
  25. 2005-04-05 4:26 pm
  26. 2005-04-05 4:33 pm
  27. 2005-04-05 4:44 pm
  28. 2005-04-05 4:48 pm
  29. 2005-04-05 4:57 pm
  30. 2005-04-05 5:02 pm
  31. 2005-04-05 5:03 pm
  32. 2005-04-05 5:05 pm
  33. 2005-04-05 5:18 pm
  34. 2005-04-05 5:23 pm
  35. 2005-04-05 5:26 pm
  36. 2005-04-05 5:30 pm
  37. 2005-04-05 5:32 pm
  38. 2005-04-05 5:36 pm
  39. 2005-04-05 5:41 pm
  40. 2005-04-05 6:16 pm
  41. 2005-04-05 6:24 pm
  42. 2005-04-05 7:05 pm
  43. 2005-04-05 8:29 pm
  44. 2005-04-05 9:15 pm
  45. 2005-04-05 9:23 pm
  46. 2005-04-05 11:21 pm
  47. 2005-04-05 11:23 pm
  48. 2005-04-05 11:26 pm
  49. 2005-04-06 3:16 am
  50. 2005-04-06 3:43 am
  51. 2005-04-06 5:01 am
  52. 2005-04-06 6:19 am
  53. 2005-04-06 7:30 am
  54. 2005-04-06 12:08 pm
  55. 2005-04-06 2:26 pm
  56. 2005-04-06 4:04 pm
  57. 2005-04-06 7:09 pm
  58. 2005-04-08 5:43 pm
  59. 2005-04-12 11:39 pm