Cooking with Linux - Really Useful Gadgets...Sort of

Gadgets are tools, but referring to a tool as a gadget implies a bit of fun.

What on Earth is that, François? Something to make your job easier? Come on, mon ami, let's be honest. I don't work you that hard. So what does that thing do? Quoi? It's a combination corkscrew, pen, pocket knife, compass, notepad, wine thermometer, music player and crumber? That's the silliest thing I've ever heard of. You know I love gadgets as much as you do, but I think you outdo me with your choices. Our guests are arriving, François. Pay attention, and I will show you some really useful gadgets.

Good evening, everyone. It is wonderful to see you, mes amis. Welcome to Chez Marcel. François has prepared your usual tables and was just about to get tonight's wine. And, what a wine, mes amis. This 2006 wine from Tuscany is produced by Ornellaia and goes by the name of Le Volte (Figure 1). It's a rich, full-bodied, almost chewy red with lots of dark fruit on the palate. Your mouth will thank you. François, you'll find our shipment in the east wing of the cellar, near the secret passageway. Vite!

Figure 1. Tonight's Wine, Sampled and Approved

These days, software gadgets are designed to exploit the eye-candy capabilities of modern systems, and we'll look at some of those in a moment. But, what if your system isn't a modern computer? What if you have only limited memory and no high-end graphics system? Have no fear; I've found a couple gadgets guaranteed to be resource-friendly while still providing little productive value. The first is necessary for people using a Linux system who feel they may be missing out on that most important of Windows tools. Yes, I'm talking about the Blue Screen of Death, lovingly crafted for Linux by Folkert van Heusden.

Figure 2. Every computer needs a Blue Screen of Death—sort of.

Get the source from, extract it and then simply type make (or make install) to build it. To run it, type bsod. Your console, or terminal window, displays the Blue Screen of Death. There are no options or flags, so it's very easy to use.

Of course, the Blue Screen of Death doesn't do much. And, it's nowhere near as interesting as, say, watching fish in an aquarium. We've got that taken care of as well with our next gadget. In keeping with our low-tech, low-end gadget needs, this aquarium doesn't require a graphics card. It's Kirk Baucom's ASCIIQuarium (Figure 3). The program displays a variety of fish, the occasional sea monster or man-eating shark, all in glorious ASCII.

Figure 3. Fish are endlessly fascinating to watch, even when they're merely ASCII characters in a terminal window.

Believe it or not, ASCIIQuarium is included in the repositories for various distributions, so you probably don't need to build it. However, source is available should you choose to go that route. There is no building to be done because ASCIIQuarium is a single Perl script. It requires only that you have the Curses and Term::Animation Perl modules installed. While the aquarium displays its two-dimensional life, you can press R to force a redraw, P to pause the display or Q to quit.

If ASCII seems just too, ahem, quaint for a desktop gadget, you'll be happy to know that you can get a different kind of aquarium with some nicer graphics. Most modern software gadgets tend to be small programs that run on your desktop background or wallpaper. Sometimes they become the background. One such program is xfishtank (Figure 4), written by Eric Bina. Once again, this is an easy program to find in your distribution's repositories.

Figure 4. xfishtank, because people need fish swimming across their workspaces.

Running xfishtank on most systems is as simple as typing the program name. You also can fire up your program launcher (Alt-F2), and type xfishtank to populate your aquarium. Whether you see something right away depends somewhat on the desktop environment you are running. Most environments, GNOME included, don't require any additional steps, but KDE does need to check with you before allowing programs to run on the desktop background. Right-click on your desktop, and select Configure Desktop from the pop-up menu. When the dialog box appears, click the Behavior icon in the left-hand sidebar. A three-tabbed window appears on the right-hand side. Look near the top on the General tab, and you'll see a check box with the words Allow programs in desktop window. Click that check box, and then click OK.

I mention this now because you may need it again with some of our other gadgets. A lot of the newer background gadgets are small programs that take up a small portion of your screen, quietly displaying useful information, such as system load, memory usage or network traffic. But, wouldn't you rather see Tux running around on your screen, walking across your windows, skateboarding or parachuting down to your taskbar? Me too. You can thank Robin Hogan for writing xpenguins to help us out of that productivity conundrum. When you run xpenguins, Tux, in all the forms I mentioned, suddenly takes over your screen (Figure 5).

Figure 5. The penguins in xpenguins are an industrious lot—floating, skateboarding, drilling, walking, reading and more.

Should you decide your screen isn't busy enough, you can increase the default number of penguins by using the -n flag. That default is defined in the current theme. Theme? Did I say theme? If those wonderful little penguins vying for your attention aren't enough, you are running the right program, mes amis. One of the really fun things about xpenguins is that it comes with multiple themes. To discover those themes, type xpenguins -l at the command line:

$ xpenguins -l
Big Penguins
Classic Penguins

To select a particular theme, do the following:

xpenguins -t Bill

Figure 6 shows the result. Bill, the famous hacker from Red Mond, wanders across your screen taking away Linux systems and replacing them with his own brand of OS. Yes, this is a takeoff of the (in)famous xbill game.

Figure 6. The evil hacker known only as Bill can replace those cute little penguins on your desktop.

Even more themes are available. Visit the xpenguins Web site, and check out the user-contributed themes at Before we move on, I want to mention one last flag available with xpenguins—the -s flag. That one makes it possible for you to squish the characters with your mouse cursor. If you find yourself a little squeamish at the result, the -b option means no blood.

I could pass the next one by, but I really need to mention it. It's a little less tasteful, but it's lots of fun if you want to turn off your coworkers. xcockroach, written by Nicolas Adenis-Lamarre, generates a variety of cockroaches that scurry across your screen and hide under your active windows. Move the window and the critters run off in all directions. It's pretty disgusting, but certainly entertaining. Unlike xpenguins, there is no squash function. You can, however, change themes and behaviors for your roaches. For a full list of options, type xcockroach -h.

Figure 7. A close-up of a roach-infested desktop—luckily, getting rid of them is as easy as issuing a kill command.

Let's get off the nostalgia bus now and take a look at the modern state of desktop gadgets. KDE 4.1's impressive desktop features a new desktop shell called Plasma. Plasma is, in a way, the ultimate gadget—it's a gadget that runs gadgets. Inside Plasma, you run programs (or widgets or gadgets) that appear on the desktop. Each of these programs is commonly referred to as a plasmoid. Plasmoids are more than programs, however. Each is a containment that can contain other plasmoids, all of which are, technically, able to communicate with one another. Plasma, the desktop shell, is just one big containment that contains other plasmoids. The panel at the bottom of the screen with its system-tray icons, taskbar, clock and program launcher is yet another containment. Shakespearean fans can think of it as a play within a play.

Plasmoids use scalable vector graphics (SVG). These graphics can be zoomed and rotated smoothly, meaning that plasmoids can live pretty much anywhere on your desktop, in any size and any orientation. The result is super-sweet eye candy of the gadget variety.


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot