Conky – A light-weight system monitor for Linux Desktop

Today we will be learning about Conky, which is used to create beautiful infographics of your system with the help of widgets. If you have ever browsed r/unixporn and looked at a similar desktop and wondered how you can recreate the same beautiful monitoring setup on your Linux or FreeBSD device, you are in for a treat.

With its ability to display a wide range of system stats, music player integration, email notifications, and Lua scripting support, Conky is a free and open source tool to enhance your desktop experience. Get started by installing Conky, then dive into the exciting journey of configuration and theme customization. Check out amazing Conky setups, borrow ideas, and create your unique masterpiece.

What is Conky?

Conky, simply put, is a light-weight system monitor for X, which is a GUI framework for Linux. In the picture above you can see that it is displaying system information like CPU temperature, cores used, tasks running, battery, uptime, etc. There are many other efficient systems monitor like top, gtop, htop but none of them can be customized on the same level as conky.

Features of Conky Manager

  • Displays OS stats like uname, uptime, processes, active cores, memory usage, CPU usage, disk usage and many others. Infact it can be customized to display ANY text output. This enables conky to be insanely extensible.
  • Built in support for MPD, Audacious, and other many popular music players so you can display the currently playing music and music queues.
  • Built in IMAP and POP3 support so you can check on your mail notifications.
  • Built in Lua support, which can be used to write any custom scripts and modules.
  • Built in Cairo support, which, when used with Lua, can be used to draw and display images.

Installing Conky on Linux

You can install this application with the help of AppImage on any distro by typing this in the command line:

curl -sL -o conky-x86_64.AppImage \
    $(curl -sL https://api.github.com/repos/brndnmtthws/conky/releases/latest | \
    jq --raw-output '.assets[0] | .browser_download_url')
chmod a+x ./conky-x86_64.AppImage

If you are using Debian or any Debian derivatives (Ubuntu, Mint, etc.) you can also install conky from the package manager using the following command.

sudo apt-get install conky-all

Using conky for the first time

You can run conky using:

./conky-x86_64.AppImage 

if you installed the AppImage.

If you installed it from the package manager, you can just type conky in the terminal to run it.

Conky by default looks quite ugly, nothing like the beautiful panels we see in those beautifully customized images. The real power of conky lies in configuration.

We will now learn the basics of configuring conky.

Conky Initial
Default conky setup

Configuring Conky – Basics

The config file by default is /etc/conky/conky.conf

To start with customizing, create a .conkyrc file in ~/ using the following command,

touch ~/.conkyrc

Now every time you run conky, it will source config from conkyrc instead of the default config file.

To run and use conky from a custom config file, you can use the -c flag shown below:

conky -c /path/to/config/file

Basic config options

Every conky configuration file has two parts. The first part controls how conky acts, i.e. how often it updates, alignment, colors, gaps, borders, transparency, etc. The second part starts after the line that says TEXT, and it controls the actual content that is rendered on the screen i.e. time, CPU temperature, kernel version, and weather.

To know about all the inbuilt settings and variables in a precise manner, visit Conky Variable documentation and Conky Settings documentation.

Installing a Conky theme

While you can definitely write your own config from scratch, it’s usually easier to install a theme you like and then modify it over time. You can find installation files of conky themes for download on DotShare, Deviant Art, Gnome Looks, r/unixporn, and r/conkyporn just to name a few.

The theme I will be installing here is called Victor Conky. To install it I will be cloning its GitHub repository, then moving the victorConky folder to ~/.conky and moving all the fonts to ~/.fonts as shown below.

git clone https://github.com/gictorbit/victorconky
mkdir ~/.conky 
mv victorconky/victorConky ~/.conky/
mv victorconky/fonts/* ~/.fonts 

Now you can run conky with the appropriate config. Victor Conky provides you with six versions of its theme with different sizes and logos. Here I will be running the ArchMedium config

Victor Conky Theme

Now, conky is running. You can see the output on the wallpaper.

Victor Conky Theme Output

Tips for configuration

  • The best way to get beautiful conky designs is to browse related Subreddits (mentioned above) and copy the parts of the config you like. This way you can also find new ideas for modules, fonts and display art.
  • Make your configs modular. This would mean that you write separate bash/lua scripts for every functionality you want (for ex. a news bulletin) and then add those to the code. This makes it easier to share snippets of your code and makes it easily extensible.

Featured conky configurations

Here are some screenshots of my favorite conky setups that I have come across in the past.

Azuia Conky
Auzia Conky theme
Thinkpad Conky Theme
Thinkpad-based conky theme
Conky Minimal Theme
Conky minimal theme
Conky Twitter News Systemd Modules
Conky setup with Twitter, Systemd, Stock Market, News, Google trends and other modules

Conclusion

This is all you need to get started with conky. Now, even you can make your desktop environment look like it’s from the future and make Windows users jealous. If you want to write your own configs from scratch, don’t forget to go through the documentation, as it is quite helpful. Keep exploring!

See Also

Read more on conky wiki

What is Conky?

Conky is a system monitor program for Linux systems. It can display various system information on your desktop such as CPU usage, disk usage, monitor status, and more.

How do I configure Conky?

You can configure Conky by editing its configuration file called conkyrc. This file is typically located in your home directory.

What is Conky Manager?

Conky Manager is a GUI tool that helps you manage and switch between different Conky themes easily. It simplifies the process of customizing your system monitor.

How do I install Conky on Ubuntu?

To install Conky on Ubuntu, you can use the package manager. Simply open a terminal and type sudo apt-get install conky to install it.

Can I run Conky at startup?

Yes, you can configure Conky to run at startup by adding it to your system’s startup applications list. This way, Conky will start automatically when you boot up your system.

What is the significance of lua in Conky?

Lua scripting language is often used to create custom scripts and configurations for Conky. It allows for more advanced customization and functionality within the system monitor.

How can I make Conky transparent?

To make Conky transparent, you can adjust the transparency settings in the configuration file. This allows you to overlay it on your desktop without obstructing the background.