Linux in Government: You Can Use the Desktop on a Laptop Now
The reports of my death have been greatly exaggerated.
---Samuel Clemens, also know as Mark Twain
Many variations of this "reports of my death" quote exist. The original note was written May 1897 in the author's hand. He wrote, "James Ross Clemens, a cousin of mine was seriously ill two or three weeks ago in London. The report of my illness grew out of his illness, the report of my death was an exaggeration".
Similarly, depending on the writer, many variations exist about the usefulness of Linux on desktops and laptops. In some ways, I understand the confusion and the various conclusions people draw. Recently, I had the opportunity to install Linux on an IBM ThinkPad, and both ingenuity and a commitment to complete the job were required. That's not what I expected at the start. I found Linux useful immediately. Later, I found the software I needed to make it work the way one would expect from a manufacturer.
As you read this article, keep this Samuel Clemens quote in mind. The majority of us have a tendency to avoid details and jump on the first generalization that comes around. I'm reminded of statement attributed to Al Gore that he "invented the Internet". In fact, he said, "During my service in the United States Congress, I took the initiative in creating the Internet". And, if you look at his history, he did take the initiative and helped create the Internet. The media, on the other hand, ran with the quote attributed to him. Don't fall into that trap if you can avoid it.
Recently, I bought a laptop. I consulted several friends to get a consensus as to which one would work best with Linux. Tallying the results, I decided to go with an IBM ThinkPad. I chose a barely used model T21 with a Pentium III 800, a 20GB hard drive, 256MB of RAM and a DVD-ROM. Prices ranged all over the place, but I found a one for less than $300.
Once the laptop arrived, I began searching around on Google to see which Linux distributions people used on ThinkPads. I even found a ThinkPad mailing list and some distribution-oriented laptop ones. Then, I found a tutorial that convinced me to go with Fedora Core 3.
Reading through the archives of the mailing lists, I started to conclude that most people used Linux on laptops as portable computers. Seeing comments referring to the battery as a UPS gave it away. Then, I started asking some hard questions and the answers convinced me that an information void exists. You certainly can use a laptop as a portable computer, but that's not how I intended to use it.
I went back to my friends and began asking how they used the function keys and buttons on their ThinkPads. As you might guess, they didn't use them. They also thought that the battery life seemed short. Of course, having all laptop functions fully operational at all times reduces the battery life.
As I continued to research Linux on the laptop, I found a scarcity of new material. Furthermore, many of the items I did find seemed less than useful. But, I did find nuggets of gold that allowed me to use my ThinkPad the way I wanted.
Although the Fedora tutorial gave me many of hints on how to configure tools to take advantage of the ThinkPad's built-in functionality, Fedora did not work for me. I decided to stay with 256MB of RAM, primarily so I could help Linux users who could not afford to add the memory needed to get to 512MB. Perhaps if I upgraded to a higher level of memory, I could use Fedora. At 256MB of RAM, however, Fedora creeped. I felt like I was using a memory-starved Microsoft Windows machine.
Call it a challenge, but many postings exist on the mailing lists I follow from international users who simply can't afford to upgrade their memory. To an American, it doesn't seem so unrealistic simply to upgrade. To friends in Hungary, the costs seem high.
I spent the better part of two days trying a variety of distributions. Before people start writing comments about how much better their distributions run than the one I chose, let me say I played no favorites. I wanted performance and I got it with Ubuntu. Contrary to what some of you might believe, it's not my favorite Linux distro. It simply performed the best in this case.
Later this month, I will cross the globe. The first leg of my journey will take 24 hours, and I have a speaking engagement about 12 hours after I arrive. So, preserving battery life and connecting wirelessly seem important. I also want to use the time to work.
I believe a manufacturer should do the things I did to get Ubuntu working on the ThinkPad. In a way, it helps prove up my argument that if Linux were bundled on HP, Lenovo, Dell, Gateway and so on, it would be as acceptable to users as is OS X or Windows. More on that a little later.
Once I installed Ubuntu on the ThinkPad, I had to add packages from various repositories, including Universe and Multiverse. The first packages I added include linux-image- 2.6.10-5-686, linux-source-2.10.10 and linux-headers-2.6.10-5. Ubuntu calls their kernel packages linux-images instead of kernel-image. Once I added the packages, I rebooted into the Linux 686 environment.
Next, I searched, found and installed the tpb package through Ubuntu's Synaptic application. According to the tpb Web site:
TPB is a little program that enables you to use the IBM ThinkPad(tm) special keys.
With TPB it is possible to bind a program to the ThinkPad, Mail, Home and Search button. TPB can also run a callback program on each state change with the changed state and the new state as options. So it is possible to trigger several actions on different events. TPB has a on-screen display (OSD) to show volume, mute, brightness and some other informations. Furthermore TPB supports a software mixer, as the R series ThinkPads have no hardware mixer to change the volume.
I noticed the ability to change the volume and use other keys immediately.
Next, using Synaptic, I searched for "thinkpad" and found thinkpad-base and thinkpad-source. I marked those for installation and clicked apply. They installed.
According to the maintainer's Web site:
This package contains the source code for the loadable driver modules used by the tpctl utility for configuring IBM ThinkPad laptop computers. Included are the sources for drivers of the Super I/O and RT/CMOS RAM chips, for an interface to the IBM ThinkPad SMAPI BIOS, and for an interface to the ThinkPad APM subsystem.
As the Web page refers to tpctl, I searched for that package in Synaptic and also installed it.
According to the tpctl Web site at Sourceforge:
tpctl is a package of configuration tools for Linux.
The centerpiece of the package is tpctl, a program that does some of what PS2.EXE does under DOS and the ThinkPad Configuration program does under Windows...
tpctl gives the user access to all the functions of the SMAPI BIOS that are documented in the various ThinkPad Technical Reference manuals. It can also control the resources used by the parallel and serial ports. The USAGE output and the README file should give a rough idea of what the program can do...
Packages included in tpctl include:
tpctl -- command line ThinkPad control program
ntpctl -- ncurses ThinkPad control program
tpctlir -- a utility that enables or disables the infrared subsystem on ThinkPads with Programmable Option Select
apmiser -- a daemon that automatically controls power expenditure mode (using tpctl) according to CPU usage
Finally, I discovered configure-thinkpad, a GNOME GUI tool for tpctl. According to the Web site: "configure-thinkpad is a GNOME ThinkPad configuration tool written by Cheuksan Edward Wang. The purpose of this tool is to make configuring ThinkPad easier. This GUI application uses GNOME 2 and is based on tpctl and ntpctl."
Unfortunately, I didn't find configure-thinkpad in the Ubuntu repositories. You can download the tarball from the tpctl site, though, and configure it using these steps, once you satisfy all the dependencies.
Uncompress the tar.gz file
cd into the uncompressed file directory
Run the ./configure command as user
Run sudo make
Run sudo make install
Here, you need to do some command-line work to get Ubuntu to work with the packages you downloaded. Let's take them one at a time. First, you need to provide the Linux kernel source. When you installed linux-source, it downloaded linux-source-2.6.10.tar.bz2 into the directory /usr/src. Move to that directory, and you will see it. To unpack it, use the command
sudo tar jxvf linux-source-2.6.10.tar.bz2
Now, your sources are available.
Earlier we referred to thinkpad-base and thinkpad-source. thinkpad-source contains the source code for the drivers. The package is set up so that make-kpkg compiles the correct driver sources for the kernel you are running.
tpctl contains everything but the drivers. For this, you need the thinkpad-modules package, which can be built from the thinkpad-source package.
David Tansey, a Ubuntu user and contributor who has written HOWTOs for the community, provided us with some commands through the ThinkPad mailing list. He suggested going to /usr/src/ and running tar -xzf thinkpad.tar.gz. Then:
cd modules/thinkpad/2.6/drivers make sudo make install
This creates the /dev/think device needed to run tpctl.
Next, run ./autogen.sh. You need to install the following dependencies so you can build configure-thinkpad:
libbonobo2-dev libbonoboui2-dev libgconf2-dev libglade2-dev libglib2.0-dev libglade2-dev libgnome2-dev libgnomeui2-dev libgtk2.0-dev
When you log out of GNOME and log back into the desktop, you will find configure-thinkpad on the Applications -> System Tools menu. When you try to run this application, though, it says you don't have permission for the device /dev/thinkpad. I suggest running the command sudo configure-thinkpad from the command line until we have time to write a HOWTO on changing permissions in the /etc/udev/permissions.d/50-udev.permissions file. I'm sure we'll get to that soon.
As I stumbled across various information on Linux and Thinkpads, I discovered that SUSE Professional has the tpctl and configure-thinkpad components built into its distributions. One of the friends I consulted runs SUSE on his Thinkpad and didn't notice the presence of either utility. I found that unusual because he uses several Thinkpads for varying reasons, as portal computers.
On the tpctl Web site, I couldn't help but notice a new entry that says, "Cheuksan Edward Wang has written a TrackPoint configuration tool for GNOME: configure-trackpoint. It uses GNOME 2 and the linux kernel 2.6 TrackPoint driver written by Stephen Evanchik." That reminded me of the many projects for the desktop that I see reaching maturity today.
Since I began focusing on the Linux desktop in late 2002, I have seen remarkable developments emerge from the community. In some ways, the Linux desktop has spoiled me. It works well, even though Red Hat and others haven't put together all the tools they could to make a new user's life easier.
To make up for the lack of desktop focus from the major vendors, many developers, such as Fabio Marzocca, have built applications that provide more functionality for Linux than you'll find from the so-called desktop market leaders.
While I enjoyed doing research on the Thinkpad and figuring out what to do, not all PC users like to solve puzzles. Many want the product handed to them ready to go. Many people think that's a reasonable request. I do too.
As part of my work, I had to install and use Windows XP this past week. I had not used a Windows desktop for a couple of years for anything but testing. I found using it painful. I finally reorganized the program menu like my GNOME desktop so I could find programs easier. I installed Zone Alarm's free firewall, Grissoft's free Anti-Virus program and Spybot S&D. I made sure every port was closed or at least was running in a stealth mode. I was surprised at the number of times Zone Alarm warned me that an application I just launched attempted to access the Internet. That's really freaky.
It took about a day before the system got infested with spyware and icons showed up on the desktop leading to various Web sites. I couldn't believe it. Then, the system began slowing down--in fact, grinding down. I fed Windows 1 GB of fast DDR RAM, but it didn't seem to matter. Finally, I defragmented the hard drive, which took an hour.
Soon, programs began to freeze and in the top bar I saw the message "Not responding". I waited a little while and they eventually came back. I couldn't believe how many times I had to stop work while XP gathered itself. And this is what media analysts consider ready for the desktop?
I know I'm not the only one who has written this, but I'll do it again. If the major manufacturers put as much engineering into the Linux desktop as they put into Windows, they would produce a superior product for their customers. I'm sorry I don't have a billion dollars to give you for marketing so you can keep your stock prices up. Maybe you could make it the old-fashioned way--by offering a superior product.
Tom Adelstein is a Principal of Hiser + Adelstein, a consulting and operating company specializing in free and open-source software solutions and support. Tom is the co-author of the book Exploring the JDS Linux Desktop, author of an upcoming book on Linux system administration and has written prolifically since 1985. Tom's business career began in public accounting where he first learned to program and develop software and later progressed to Wall Street, where he became the designated principal of a NYSE firm. He later returned to technology and has consulted and worked with start-ups as well leaders of the Fortune 500.