Monitoring your system with Conky

Vital Signs

Article from Issue 100/2009
Author(s):

This light-weight system monitor keeps you informed about your computer's performance.

System monitoring utilities help users keep track of performance metrics, and the Linux environment offers a variety of useful monitoring utilities. One of the simplest and easiest of these monitoring tools is a desktop gem called Conky [1].

Conky's history goes back more than four years. At the time, the project was launched under the name Torsmo. After just one year, Conky forked from Torsmo. The project founders were inspired by the Canadian TV show "Trailer Park Boys" and chose one if its protagonists as the project name.

Conky not only displays CPU load and memory usage data, it also gives details on your hard disk and network traffic, evaluates the data from various sensors, integrates news feeds off the Internet, and provides information on a media player if a player happens to be active. To configure what you want the system monitor to show and how you want it shown to you is quite simple.

Installation

Conky is available from the repositories of most, but not all, popular distributions. Unless your choice of distribution does not come with Conky or – and this is more likely – you want to do something special with the tool, you will not need to build the system monitor yourself.

For an overview of the supported options, give the ./configure --help command after downloading the source code package [2] and unpacking it in a directory of your choice.

At this point you will see a number of options that are enabled or disabled by default. For example, if you use the Audacious media player, you will want to enable matching support in Conky by specifying --enable-audacious=yes. If your computer does not have sensors that check the hard disk temperature, you might want to disable the corresponding feature, enabled by default, by specifying --disable-hddtemp. If you fail to do so, Conky will issue an error message when you try to launch it.

After completing the settings, you can build and install Conky in the normal way: make && make install. Then give the conky command for a trial run. If you see a small window like that shown in Figure 1, or if Conky opens directly in the background as shown in Figure 2, the installation was successful.

Figure 1: Locked up in KDE: Conky is trapped in a frame.
Figure 2: Transparent and elegant: On Fluxbox, Conky is drawn directly on the root window. This approach integrates the system monitor with the desktop and is less distracting.

Values

To customize Conky, the basic configuration file – depending on your distribution – is in /etc/conky/ or /usr/share/doc/conky/examples/. First copy the file to ~/.conkyrc and open it in an editor.

The file with the settings is divided into two sections: program options in the first part and display options in the second part of .conkyrc. The TEXT line separates the two. All of the content after this is displayed onscreen. A pound sign (#) will not comment out a line but will also appear onscreen.

In the first part, program options, Conky expects instructions on functionality. For example, you can position the program in the top right corner of the screen with the alignment top_right command, and default_color white sets the default color to white.

The update_interval 1 option tells Conky to parse and output the values every second. The display options are too numerous for me to go into detail here. A list of common program and display options are on the project website [3] [4]. If you prefer to refer to screenshots, some grabs of the matching Conky configuration file are at the same address [5].

Issue

If you do not launch Conky in a separate window, but directly on the KDE or Gnome desktop, you are in for an unpleasant surprise.

Because both KDE and Gnome draw their own desktops without concerning themselves with Conky's attempts to add its own output, the program flickers or disappears, then reappears, and disappears again, and so on.

The options for both GUIs, titled own_window and own_window_transparent yes, in .conkyrc tell Conky to use its own window and apply pseudo-transparency to the window, respectively. Unfortunately, both desktops have a couple of issues with the transparency option.

To resolve this, look for and enable the Support program in desktop window option below Look & Feel | Desktop | General in the KDE control center. Now when you launch Conky, it will appear onscreen and hopefully be flicker-free, although it will still use a black background instead of the KDE wallpaper. To change this, install Qiv [7], a tiny tool of just a couple of kilobytes, then launch it with the qiv --root ~/background.png command using your chosen background image.

As an alternative, you could also use Feh. The command here is feh --bg-center ~/background.png. Both Qiv and Feh make sure that the root window uses the KDE wallpaper. The situation is similar on Gnome, although the symptoms are different: missing icons on screen. The workaround in this case is the Devil's Pie [8] utility.

In your home directory, install the tool and create a hidden .devilspie directory. In the hidden directory, create a conky.ds file and open it for editing. Now copy the lines from Listing 1 into the file and launch the program by entering devilspie at the command line. After doing so, both Conky and the icons should be back to normal on the desktop.

Listing 1

conky.ds

(if
(is (window_class) "Conky")
(begin
(pin)
(undecorate)
(wintype "dock")
(skip_pager)
(skip_tasklist)
(below)
)
)

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News