Cooking with Linux

Eye Candy for Admins? Aye, SuperKaramba!

Marcel Gagné

Issue #121, May 2004

Don't merely monitor your system logs—give your system stats displays a certain je ne sais quoi with GUI tools.

You see, François, administering your Linux system is all about information. When it comes down to knowing what is happening with our servers, too much information is just about right. Yes, mon ami, I am joking, but only a little. Every Linux system has an ongoing chatter, whether it is a server or a desktop. Statistics constantly are pouring in on CPU activity, disk space and memory allocation and logs are being filled. Don't forget logs, François, logs of e-mail traffic, FTP and Web site transfers, services starting and stopping. That's a lot to keep up with, and having the right tools is essential.

Quoi? It looks like eye candy? Well, it is, François. No one said keeping track of what your systems are up to couldn't be fun, not to mention stylish. But enough of this. Our guests will be here any moment, and we must be ready. Mon Dieu!, they are here already. Welcome, everyone, to Chez Marcel, home of fine Linux fare and excellent wines. Please sit and I will have François fetch the wine. To the wine cellar, François! Bring back the 2000 Chablis Les Clos. Vite!

Make yourselves comfortable mes amis. The theme of this issue is system administration, and any one of us who runs any kind of computer—even if it's only a home system—is the administrator of that system. You are the boss, mes amis. Sometimes, you are the boss of many, and sometimes you are your own boss. Now you all know what they say about system administrators, non? A good system administrator is forewarned, and as the saying goes, forewarned is forearmed. Four arms, of course, is a highly unusual number of arms for a sysadmin to have; although many, I'm sure, could see the advantage. It is because of this inherent strangeness that I present you with today's menu, a collection of graphical tools that should keep you informed while adding a certain je ne sais quoi to your system.

Desktop wallpaper is interesting enough, but dynamic applications can be put on the desktop as well. For instance, imagine a monitor for CPU usage, disk space and network activity floating transparently on your desktop, constantly being updated. If this sounds interesting, get your hands on Adam Geitgey's SuperKaramba. The Super in front of Karamba might lead you to believe there was a predecessor to this package, and you would be right. Hans Karlsson is the author of the original Karamba. To see a wonderfully busy SuperKaramba desktop, have a look at Figure 1.

Figure 1. SuperKaramba themes are informative and look cool.

Pick up the latest source at the SuperKaramba Web site (see the on-line Resources section). Building the package is something with which most of you are familiar—the extract and build five-step:

tar -xzvf superkaramba-0.33.tar.gz
cd superkaramba-0.33
./configure --prefix=/usr
make
su -c "make install"

You need Python development libraries to build the package from source. For those who would prefer to skip all that compiling, links are provided on the main SuperKaramba page, along with precompiled binaries for several distributions. If you do decide to compile SuperKaramba and are running KDE 3.2, you may encounter a little weirdness. This also might be fixed in the source code by the time you read this, but themes are always on top, blocking other active windows. Fix this by editing the karamba.cpp file in the src directory after you extract the source. Look for the line that reads:

KWin::setType(winId(), NET::Dock);

and comment it out by adding two slashes in front of the line, like this:

// KWin::setType(winId(), NET::Dock);

That's it. Go ahead with your compile and all is well.

Start SuperKaramba from the command line with superkaramba. The program also shows up in my KDE Utilities menu. When the program starts, you see a window offering you three choices (Figure 2). Mon Dieu! François, bring the wine here imm�iatement and refill my glass. It seems that some Python did sneak into the code after all.

Figure 2. The SuperKaramba Startup Screen

Clicking Open lets you select from SuperKaramba themes already installed on your system. As of this writing, the themes section of the SuperKaramba site had not yet been launched. You instead were directed to the Karamba section of KDE-Look.org. Look for Karamba in the menu on the left. The various themes are arranged by several criteria you can select by clicking the tabs above the list. Browse by the most recent or most popular in terms of downloads or highest rated.

Each Karamba theme shows a screenshot and provides a download. Choose something appropriate, then download and extract the tarball to an appropriate directory. Some of these are tarred and gzipped, others are tarred and bzipped. There is no hard-and-fast rule as to where themes end up living, because the open dialog lets you find them anywhere. I created a directory called Karamba where I store my files. Let's say that Kelley at table 16 wanted to load Flavio Gargiulo's Micromon theme (Figure 3), a trimmed-down version of Simon Ask Ulsnes' Minimon, which comes in a tarred and gzipped bundle. He would do the following:

cd ~/Karamba_dir
tar -xvf 8722-micromon-1.0.tar.gz

Figure 3. Micromon systems stats float across your desktop.

On the other hand, if Jon at table 9 wanted to install Matti's Liquid Weather theme (Figure 4), which comes in a bzip2 tarred bundle, he would use this command:

cd ~/Karamba_dir
tar -xjvf lwp-1.9.tar.bz2

Figure 4. The Liquid Weather theme can be modified to report on any location.

Perhaps a weather theme isn't strictly sysadmin material, but that's Jon for you. In any case, there's no other building or installing. Extract the files, and you are done. Then, navigate to the install directory and look for the file with a .theme extension. Click that file and click OK. The theme starts up and appears on your desktop.

Launching subsequent themes doesn't require you to re-run superkaramba. Instead, right-click on a running theme and choose Open new theme. Right-clicking on a running theme provides several menu options, including the ability to edit a currently running theme or its configuration file (Figure 5). Theme files generally are easy to read and lend themselves to simple edits. For instance, I modified the Micromon theme (Figure 1) to display my own disk partitions instead of the ones defined by the author. I also increased the font size to make it easier to read.

Figure 5. Editing a SuperKaramba .theme File

To move a theme around on your desktop, hold down the Alt key, left-click with the mouse and drag the SuperKaramba theme to wherever you want it located on your desktop. That positional information is stored in .rc files located in the .superkaramba directory in your home directory. Mine, for instance, is in /home/marcel/.superkaramba. Before you go looking at the .rc file for one of your running themes, I should warn you about an interesting effect. Until you shut down a theme or log out, the .rc file remains blank. One way to write out the file without shutting down the application is to right-click on the running theme and select Reload theme. Here's a sample from Ryan Nickell's skSeti desktop application, a small theme that monitors my SETI@home progress:

[config menu]
bgImage=false

[internal]
desktop=0
fastTransforms=true
lockedPosition=false

[theme]
Version=0.01
background=bg.png
firstTime=No
seti_Directory=/home/marcel/setiathome/
widgetHeight=100
widgetPosX=0
widgetPosY=0
widgetWidth=100

You should find a great number of SuperKaramba themes available. Some are Kicker panel replacements, like Sven Johannsen's Glass Machine (pictured on the bottom of Figure 1). Aside from giving you slick access to your kicker functions, the Glass Machine also makes all your XMMS controls handy. A little music helps sysadmins get their work done, and several jukebox and multimedia toys are available to choose from on the site.

Other themes are just plain fun, such as Reverant2501's TubeClock with seconds. Older readers should find a comforting nostalgia there, and the younger crowd simply may think it looks cool. More useful are packages such as Chip 2003's TDE (T Desktop Enhancements), which provides a number of tools, including a notepad and a log viewer, as well as disk, memory and performance monitors. Chip 2003 also provides another nice multimonitor, TMon. There's more, but let me leave you with one final monitor to experience. It's called The (as in the only) Karamba theme. It's from artoo, and it's a GkRellm-like monitor for SuperKaramba—everything you need to know in one vertical monitor.

All of these SuperKaramba improvements provide a means for you to stay informed and look good doing it. Once you start playing with these themes, you may become the most informed administrator out there. Unfortunately, you may not be the most productive—just a little joke, mes amis.

It appears that closing time quickly approaches—Mon Dieu! But I can see that you all are engrossed at your various desktops installing themes to suit your individual tastes. Perhaps François will be kind enough to refill your glasses once more while you experiment. Until next time, mes amis, let us all drink to one another's health. A votre santé Bon appétit!

Resources for this article: /article/7455.

Marcel Gagné (mggagne@salmar.com) lives in Mississauga, Ontario. He is the author of Moving to Linux: Kiss the Blue Screen of Death Goodbye! (ISBN 0-321-15998-5) from Addison Wesley. His first book is the highly acclaimed Linux System Administration: A User's Guide (ISBN 0-201-71934-7). In real life, he is president of Salmar Consulting, Inc., a systems integration and network consulting firm.