January 10, 2005

Must-have applications for the Linux desktop

Author: Keith Winston

You just installed your favorite Linux distribution and all your
hardware is working. Your data is ready to go and all the default
applications are working perfectly. You've even changed the wallpaper,
theme, and window decorations. What's next?

It's time to install the short list of must-have applications
that don't come with your distribution. All long-time Linux users have
a list, written or unwritten, of favorite applications that don't come
with their distribution, but are just so cool they can't live without
them.

Over time, I've found that my short list has become shorter. As new
apps become popular, many distributions start adding them to their list
of packages. For example, a few years ago, the wonderful checkinstall
program
, which automates the creation of a Linux package from source code in several
formats (.rpm, .deb, and .tgz), was not included in any distribution. Now, it is included
in newer versions of both SUSE and Slackware.

Here is my list of must-have open source desktop applications:

Azureus - BitTorrent client

BitTorrent is a relatively new peer-to-peer (P2P) protocol that uses
swarming, or multiple network peer connections, to download many pieces
of a file at the same time. It also introduces fairness into the
equation, since the faster you upload, the faster you download. It is
much more efficient than other P2P protocols at handling very large
files, and that makes it ideal for downloading CD images. Several
distribution makers, including Xandros and Libranet, provide free BitTorrent downloads of their software.
There are many BitTorrent clients available, but I prefer Azureus. It is a Java
application, meaning it can run unmodified on any
distribution that has a Java Virtual Machine (JVM). It has a powerful,
functional GUI and is self updating. Azureus uses BitTorrents to
download and share updates for itself, and anything recursive is hip in
the GNU world.

Gtk-Gnutella - Gnutella network client

Some distributions are starting to include Gtk-Gnutella, but I
always go the official Web site and grab the latest stable version.
I've tried various graphical and console-based Gnutella clients, but
Gtk-Gnutella works best for me. It has gobs of configurable options
(not that I change many from the defaults) and presents the search
results in a pleasant way.

Jedit - Programmer's text editor

In the Linux/Unix world, few things can start a flame war faster than a
discussion of text editors. While I do most of my text editing with
console-based editors, I write all my PHP and Perl code with Jedit. Here is another open source
Java program that provides amazing power. Jedit includes syntax
highlighting for dozens of languages, and advanced features like
folding, column moves, and a built-in scripting language. It also
prints code in a nice, easy-to-read format. A bevy of
plug-ins have been developed for Jedit, including a full double-entry accounting program called Lazy8Ledger. No, I don't use Jedit for
accounting, but that gives you some idea of how flexible it is.

Bk_edit - Bookmark converter and editor

I'll admit it, sometimes I am fickle with my applications, even with
something as basic as my Web browser. I've gone through periods when
Mozilla was my main browser, then Opera, and now I'm partial to Firefox.
I still use Konqueror and lynx when the need arises. To make the
transition between browsers less painful, I use bk_edit. It lets me
easily transfer my bookmarks from one browser to another.

aMSN Messenger - MSN messenger client

I am not a fan of MSN, nor of MSN Messenger, but I sometimes work with
clients who prefer to communicate with me via MSN Messenger. Instead of
having to keep Windows around, I can load up aMSN Messenger and chat via the
MSN Messenger network. True, Gaim can talk to MSN Messenger with a plug-in,
but I've had better luck with aMSN.

Ganttproject - Project management made simple

When I am faced with a moderately difficult project, I plan it using ganttproject.
Ganttproject is another Java program that is simple to use, but
powerful. It handles dependencies and resources and creates beautiful
output. What makes it special is its ability to export a Gantt chart
and tasks in HTML, PDF, and other formats. The presentation is stunning,
and that makes it easy to communicate your plans to everyone on your team.
I've used many open source and proprietary project management programs,
but this one gets the job done in a clean and simple way.

Xwc - X WinCommander, a file manager for X

My file manager is one of the applications where I spend the most time. As Carl Sagan might say, I move "billions and billions" of bytes around every day. For a long time, I used KDE as my primary environment for one reason: the Konqueror file manager. (Yes, you can run Konqueror in non-KDE environments, but it doesn't integrate or work as well as in KDE.) I had high hopes for Nautilus when it was first open sourced, but I've been generally disappointed with it. Although I love console apps, Midnight Commander never grew on me. The lack of a fast file manager with the features I wanted kept me away from other window managers and desktop environments, until I found Xwc. Now, I am comfortable using WindowMaker, IceWM, or almost any environment as long as I bring Xwc with me.

Xwc isn't fancy, but it has the important features I need. You can open an X terminal window in the
currently selected directory, toggle hidden files with a handy checkbox on the main screen, and change permissions and other attributes from the properties dialog. It is also blazingly fast. It looks and smells like Windows Explorer (the file manager, not the browser). That may turn some people off, but I have to give Microsoft credit for the original design that I still find intuitive and powerful. Funny that Microsoft decided to hide their own Exporer file manager in current versions of Windows. Xwc is built using the somewhat esoteric FOX development library, but you can download a statically linked version of the program from the developer home page.

There you have it. Part of my startup ritual after a fresh install of any distribution is the setup of these must-have applications. I am always on the look out for new applications that can make my life easier and more fun. Maybe these will help you in some small way.

Keith Winston is a Linux consultant, administrator, and PHP slinger.

What are your must-have Linux applications? Write an article of less than 1,000 words telling us what essential apps you use and what you do with them. If we publish it, we'll pay you $100. Please use proper spelling, grammar, capitalization, and punctuation!

Click Here!