May 102009

Conky is a free, light-weight system monitor for X, that displays any information on your desktop. Conky is licensed under the GPL and runs on Linux and BSD. Conky has more than 250 built in objects, including support for a plethora of OS stats (uname, uptime, CPU usage, mem usage, disk usage, “top” like process stats, and network monitoring, built in support for IMAP and POP3 and many popular music players (MPD, XMMS2, BMPx, Audacious).

Conky can display this info either as text, or using simple progress bars and graph widgets, with different fonts and colours.

Install Conky openSUSE

To install Conky in openSUSE, click this 1-click installer from Packman supported on openSUSE 11.1/11.0/10.3/10.2. The 1-click install at Packman is built with support for Audacious and nVidia GPUs.


This should download the YMP file and automatically launch the YaST package manager to add the required Repositories, download and install Conky and the  dependencies. Click next on the Conky installation screen and Next again on the installation proposal window. This should start adding the required repositories, download and install Conky and its required dependencies. Click Finish when the installation completes successfully.

This should install Conky under “Applications – System – Monitor” as System Monitor. Click on System monitor to launch and you can see conky displaying system stats on your desktop. The executable is installed as /usr/bin/conky.
While the defaults displays a very limited number of stats, Conky is very customisable to display more from the built-in 250 objects and ofcourse change the display colour of individual object text and outputs all from the config file


This is where you can add more dispplay objects or change the default parameters including colour. Edit the file using your favorite editor like VI and items at the top define the default system and display paramters. For instance “default_color” defines the default color for any text (set to variable $color). The second part of the config starting with the line “TEXT” is where you define what to display.

For instance,

The line

${scroll 16 $nodename – $sysname $kernel on $machine | }

displays the first line of the output where you see the Hostname, Kernel information scrolling.
$nodename displays the Hostname (runs the command hostname)
$sysname displays System name, Linux for example
$kernel displays the system kernel
$machine displays the system architecture (x86_64 on my pc)


Now, you might be a little confused about where these variables come from. Well, click here to view the list of variables and its corresponding function. This is where it is getting interesting to find the number of available information that you can have displayed all the time.

Lets add a new line for CPU Temperature

${color grey}CPU Temp:$color $acpitemp C

“${color grey} CPU Temp:” Changes the default value of $color from “White” to “Grey” to display the description text
$color indicates the text color for temperature output
“$acpitemp C” is the variable to display CPU Temperature

Lets add a new line to Display IP Address

${color yellow}IP Address:${color yellow} ${addr eth0}

“${color yellow}IP Address:” Changes the default value of $color from “White” to “Grey” to display the description text
“${color yellow} ${addr eth0}” Displays the IP Address of eth0 (if you have more than one interface, add one line for each of them) in yellow

Now, we are changing the colour. Make Conky re-read the config file:

opensuse11:/etc/conky # ps -ef | grep conky
saihari   4650  3684  1 07:12 ?        00:00:25 /usr/bin/conky

opensuse11:/etc/conky # kill -HUP 4650

There you go, all the changes are on display.


Conky is simple efficient and useful. Click here to vist the project home.