A Toolbox for the X User

An introduction to several small graphical tools for the daily work of system administration.

Under Linux, you can do virtually everything from the command line. For the administrator of a Linux server, this is extremely useful for two reasons:

  • All administrative tasks from any site in the local network can be done via a simple TELNET session.

  • A lot of administrative work can be easily automated via shell scripts.

Compared to a single-user system such as Windows NT, which knows no remote login, lacks a scripting language and has no command-line equivalent to many administrative point-and-click operations, these are serious advantages which save the administrator eons of time and help make Linux an “admin-friendly” system.

However, for those who use Linux as their desktop OS, many operations would be easier with a GUI than by typing cryptic commands at the shell prompt. Even for the conservative user who is not yet ready to exchange his laboriously customized FVWM for KDE, Linux offers many graphical tools for common tasks.

Getting Help

For information on a specific command, you need to read its man page, which can be done by typing man at the command line. A more comfortable way, however, is to use a man page viewer such as xman or tkman. While xman is an ugly grey mouse from the early days of the X Window System, tkman by Tom Phelps is a truly nice GUI for browsing man pages.

Figure 1. Manpage Viewer tkman

tkman displays man pages in a pleasant way (see Figure 1), knows hypertext links to other related man pages, allows regexp searches within the man page and has a built-in apropos command that offers man pages for a given keyword. If you want to read a man page from a specific section, you must add a dot and the section number in the command entry field; e.g., if you want to get help on the C library function printf (man page section 3) rather than the shell command printf (man page section 1), you must enter man printf.3.

Moreover, you may print out the displayed man page, but printing is a bit tricky to get working. Printing is started from the menu “Occasionals”->“Kill Trees”->“lp”, which invokes the man page text processor groff with the options -Tps for PostScript output and -l to send output directly to the printer. The latter option will not work unless the print command is specified in groff's configuration file /usr/share/groff/font/devps/DESC. Hence, you will need to consult groff's man page if printing from within tkman does not work.

Another source of information is hypertext info pages, which consist of nodes with an internal hierarchical structure. While man pages are more appropriate for the documentation of simple shell commands, info pages are more appropriate for programs or libraries that need extensive documentation—theoretically. In reality, some crazy programmers decided to move the documentation of elementary shell commands like ls or rm from man pages to info pages; hence, everyone needs an info reader.

On the command line, you can read info pages with the info command, which fires up Emacs in its info mode. Alternatively, you can use tkinfo by Kennard White and Axel Boldt as a graphical info page viewer. When started without any command-line argument, tkinfo displays the “dir” info node under which the GNU utilities reside. If you do not like tkinfo's display font, you can add a tkinfo*Text.font resource in your .xresources or .xdefaults file. Although tkinfo has a better-organized display and is more intuitive to use than Emacs' info mode, it also has a serious drawback. Most nodes entered in the “File”->“Goto Node” menu are not found. For example, tkinfo cannot find the node “ls”, even when invoked via tkinfo ls on the command line. To reach the node “ls”, you must navigate through the info hierarchy, a time-consuming maneuver.

Fortunately, most commands are documented completely in their man page as well; hence, there is often no need to bother with info pages.

Controlling Processes

qps by Matthias Engdegard is a graphical incarnation of ps, top and kill and is based on the Qt toolkit. qps is an attractive and powerful tool. You can use it as an advanced version of top by selecting “All Processes” from the “View” menu, specifying the “Update Period” in the “Options” menu and clicking on “CPU” in the header line of the process list to make qps sort the list by the used CPU time. This will reveal which processes are eating the processor time on your system (see Figure 2). Or you can use qps as a combination of ps and kill by selecting a process from the process list and sending a signal from the “Signal” menu.

Figure 2. Process Control with qps