Customizing Conky in IGEL OS

Conky Introduction

With the release of IGEL OS 11.06.100 on September 22nd, 2021, there were a large number of other highly sought after features. You can read all about them from the release notes available at https://kb.igel.com/igelos-11.06/en/new-features-11-06-100-49590231.html

Included with IGEL OS 11.06.100, one of the most popular custom partitions that is regularly used in IGEL POCs and within customer environments was added into the OS. Conky (Wikipedia article here) is a utility that allows you to put a vast amount of information dynamically onto the desktop of a Linux device. It’s very similar to a utility used in many Microsoft Windows environments called Bginfo (from Microsoft).

IGEL default Conky configuration
bginfo example from Microsoft
bginfo example screen

Bginfo originally was written by Mark Russinovich way back in mid-2005 and was quickly adopted in every customer I worked with back then. It was astonishing to be able to see your hostname, IP, and even drive space right on your desktop. So, all the helpdesks loved it! Then on July 19th, 2005, Brenden Matthews made the first commit to the Conky repository starting a much needed utility in the Linux world. Both were released within days of each other. So, it’s your best guess on if either was developed with the other in mind, or if they were two completely independent thoughts. My theory is they were developed independently but over time added features based on recommendations the community saw in the other. Either way, both are great tools and have been immensely helpful through the years.


Enabling Conky

Conky is not enabled by default, nor should it likely be enabled without a review over the information presented. It’s likely you’ll want to customize the information presented.

Enabling Conky is as simple as creating an IGEL UMS Profile with Conky set to autostart.

You can find the settings for Conky under Accessories within the local device configuration or a UMS profile. If you do not see it, make sure the profile is based on 11.06.100 as shown here.

Apply this profile to a directory or device and after you reboot, you’ll see Conky running on the desktop. This default configuration is rather comprehensive, but if you’re a visual person, leaves a bit to be desired.


Conky Default Configuration – Ouch! My Eyes.

Default IGEL Conky configuration

As you can see above, the default configuration with the default IGEL desktop looks rather rough. It’s not polished, and it even overwrites the logo on the default wallpaper. If you look at the configuration file, you may also note that it doesn’t do a great job with figuring out the network interface name to show the current interface information. So, let’s start optimizing this for a better experience.

Download this profile here:


Conky Basic Configuration – Default data but pretty

Conky – initial optimization

With a very simple change to adjust the opacity and position locked to upper right, you can see that immediately we have something much more usable and pretty.

Download here:


Conky IGEL Community Configuration

IGEL Community Configuration

If you’ve used the Conky custom partition from the IGEL Community, you’ve seen a nicely comprehensive Conky configuration that’s worked rather well. Moving it to the new configuration format for 11.06.100 was relatively simple.

IGEL Community conky.conf: https://github.com/IGEL-Community/IGEL-Custom-Partitions/blob/master/CP_Source/Apps/Conky/conky.conf


Conky Simple Configuration – Minimal but informative

Conky – simple configuration

Here you can see a minimalist configuration that I’ve used at a number of customers. It provides:

  • Hostname
  • IP Address
  • Device HW type from DMI
  • IGEL OS Version
  • Structure Tag
  • CPU Usage
  • Memory Usage

This configuration is to serve as a very simple and easy to use informational display for field teams to use in troubleshooting purposes. It works especially well in Appliance Mode/Kiosk configurations where you may not wish to expose any administrative tools in a sensitive environment.

I’ve included IGEL specific data here as an example too. Both the IGEL OS version and the Structure Tag. The OS version to expose grabbing data from local files and the Structure Tag to show have to gather data from the system configuration with the registry path of the setting.

Note: Your network interface name may not exist based on the predictable name that the system generates. If that’s the case, you’ll want to add your interface name(s) in the custom.text portion of the conky configuration within the UMS profile.


Conky – Clock

Simple Conky Clock

Here’s an example of a simple clock in Conky. The coolest part about Conky is how easy it is to add/remove things from the configuration. For example, taking multiple of these configurations and looking at how the conky.text section of the configuration works, it’s trivial to combine or adjust these configurations as necessary for your use-cases.

For convenience, I’ve included configurations for both 12 hour and 24 hour clock configurations.


Wrapping up

Conky is immensely powerful and incredibly customizable. I’m so happy to see its inclusion in IGEL OS and am excited to see what the IGEL Community does with it. I’ve provided some basic examples here and there are tons of Conky examples available on the internet.

I recommend visiting here (https://github.com/brndnmtthws/conky/wiki/Configs) for some Conky community examples.

If you have a configuration that works well for you, please feel free to send it to me within the IGEL communities, comment it here, or email it to me at [email protected].

Standard disclaimer: nothing expressed here is the opinions of IGEL. There is no support for anything provided here. You’re on your own if you choose to use it and it is not recommended to use any of this outside your test environment without considerable testing!