Linux Tools for Your Desktop
Though Microsoft Windows still leads all other desktops by a comfortable margin, the market share for Linux continues to go no place but up. In the wake of recent decisions by system vendors as different as Dell and IBM to offer desktop-ready PCs with Linux installed and widespread adoptions of Linux on the desktop and elsewhere, it should come as no surprise that Linux is finding a home in more PCs than ever before. That said, software tools are particularly important in the Linux environment because they provide necessary or desirable functionality, but also because so many of them help to simplify what’s involved in installing, using and maintaining a Linux desktop.
Because there is such a plethora of tools, I’ll cover the major categories that pertain specifically to desktop implementations of Linux, or that help to humanize, simplify or spice up the Linux interface. While this pertains to both server and desktop versions of Linux alike, it’s so important to general Linux functionality that it simply must be included in any reasonable survey of this topic.
If you take a look at any serious Linux distribution, such as Red Hat, SUSE, Debian, Mandrake and countless others, you’ll find added tools that fall into many categories. But while the tools chosen for inclusion can (and often do) vary from distribution to distribution, the categories themselves tend to stay the same.
- Package management: This refers to a class of tools used to manage the code base upon which a Linux distribution is built, and create customized groupings of and configurations for both source and binary files. Red Hat uses its own Red Hat Package Manager (RPM); there’s a Gnome RPM (GnoRPM) that offers a GUI interface; and other distributions offer their own unique tools as well. But if you’re going to keep a Linux installation patched and up-to-date, you’ll have to work with some kind of package or update management software.
- Graphical interface: The command line is the native interface for Linux, and although it’s still used a lot, many other alternatives are available. Some of the most popular graphical alternatives (most or all of which are bundled in numerous distributions) include GNOME (the Gnu Network Object Model Environment, a complete desktop environment that’s Windows-like enough to look familiar, but different enough to require some learning to master), KDE (the K desktop environment) and numerous implementations of the venerable X Window System (aka X or XWindows), such as XFree86.
- Linux shell: A shell represents the complete collection of commands and syntax that a Linux system recognizes. Shells are valuable because they define scripting languages that are easy to turn into compact, simple, text-driven “programs” (scripts, really) for all kinds of tasks. There are many types of shells that Linux can (and does) use. The most commonly included and used shells include the Bourne (or “Bourne again”) shell (aka bash), the C shell, the Korn shell and the increasingly popular TC shell (tcsh, which combines all of the functions of the C shell with emacs style command-line editing).
- Device management: Adding and configuring hardware devices to a Linux installation requires obtaining correct device drivers and any necessary supporting code, and adding and configuring the device drivers so Linux can use them to talk to the device. Most distributions include their own command-line tools, but the X Windows-based LinuxConf tool offers a nice and somewhat friendlier alternative.
- Web browser: As on any other platform, access to the Web on Linux is not an option—it’s a dire necessity. Mozilla (a distant relative of Netscape), Amaya and Opera are among the best known browsers with strong Linux implementations.
- File manager: Atop the standard Linux command line and basic file system, there are any number of file manager programs you can run, both GUI- and command-based. In fact, one is already included with KDE, if you use that desktop environment—Konqueror, which also provides Web browser capability. Other popular alternatives include Midnight Commander, Filerunner and Xplore.
- Windows compatibility software: Samba, a software add-on for Linux is by far the leading tool for non-Windows platforms to add client support for access to Windows servers (and NetBIOS-based file collections on just about any kind of host).
- Linux security tools and information: These are incredibly numerous and varied, and they cover lots of different kinds of functionality. Basic must-haves include the Simple Log Watcher (aka SWATCH), Trinux, a firewall (normally Iptables or Ipchains) and antivirus software.
- Productivity suite: Though Microsoft Office may not be readily available for Linux, other alternatives are. Among many suite options you’ll find that KOffice, Sun’s StarOffice (a commercial product well worth its purchase price of about $80) and Open Office are among the best known and most used.
Although many other categories of desktop tools come to mind for Linux, the preceding categories comprise the bulk of Linux desktop or related tools likely to be included in a Linux distribution or to appear on a large number of Linux users’ desktops. Because this area is so involved in open-source software and downloads, it’s really just the tip of a truly enormous collection of potential members. Whatever you seek, finding options won’t be a problem, but sometimes making good choices will be. Use newsgroups, mailing lists and Linux trade press coverage to help you separate wheat from chaff.
Ed Tittel is president of LANwrights Inc. and is technology editor for Certification Magazine. You can e-mail Ed with your questions and comments at firstname.lastname@example.org.