How to Display Information on Your Linux Desktop With Conky

Conky Fulldesktop

If you’ve ever spent time browsing a Linux community on Reddit, Twitter, or other social networks, you might have noticed some beautifully-made screenshots of sleek-looking systems where the time, date, and other information about the system are on full display in the desktop. To do this on your system, you need to to master one of the most useful applications in Linux: Conky.

What Is Conky?

Conky is a system monitor that displays information on your desktop. It was designed as a replacement for torsmo, which appears to not have been in development since 2004.

Conky Default config

It’s important to note that it’s not a desktop customizer or any sort of major theme-altering application. It is simply something that acts, at best, as part of the look and feel you’re trying to create for your system. Conky is, however, an extremely powerful piece of software once you master the more intricate parts of it.

Tip: need more inspiration? Check out these customized Linux desktops for the best customization ideas.

Install Conky

Since there is so much you can do (and so much that can go wrong) with Conky, we’re breaking things down to their simplest components and explaining how to get it up and running with a minimal level of frustration.

Conky Installation

To guarantee the best results and compatibility with the largest number of themes, we need a few things:

  • Conky
  • LUA – for running scripts within themes that are more complex than what bash can provide.
  • jq – A portable JSON processor with minimal system overhead.
  • curl – Some themes may want to run curl to grab data (like weather info).

With all that out of the way, let’s install Conky:

In Ubuntu/Debian/Mint:

Install Conky and all its dependencies:

sudo apt install lua5.4 jq curl conky-all

In Fedora/RHEL:

Install Conky with the command:

 sudo dnf install conky lua jq curl

In Arch Linux and All Its Variants:

Install Conky’s dependencies with the command:

sudo pacman -S lua jq curl

Since the official repositories do not include a version of Conky with the type of support you need to experience the full range of its features, you’ll have to get it from the Arch User Repository (AUR). In this case, we are using yay.

yay -S conky-lua

If you run a Nvidia GPU, use conky-lua-nv instead to get a special version with features for those GPUs (yay -S conky-lua-nv).

Getting Conky Up and Running

Conky is an extremely versatile system monitor “applet” but needs some dirty work before we get to the beautiful elegance it offers that gives you those juicy screenshot bragging rights.

Conky Running

To configure Conky to run properly:

  1. Make a config folder in your home directory if you don’t have one: mkdir -p ~/.config/conky.
  2. Conky first checks whether you have a configuration file for it in a designated folder in your Home directory, then checks its own installed config if one isn’t found. To make config editing much easier, copy Conky’s default configuration file in “/etc/conky/” to your home directory:
cp /etc/conky/conky.conf ~/.config/conky/
  1. Run conky to test it.

You should see a very rudimentary configuration of Conky appear somewhere in the top left of your screen. It’s probably uglier than what you imagined but works for now.

Conky Defaultrun

You’ll notice it closes when you close the terminal, but this is probably not how you’d like to run Conky. If you want conky to stay open after closing the terminal, type:

conky &
disown

Since conky doesn’t have a close button, you’ll have to close it in the terminal:

killall conky

You may also want it to start when your desktop boots:

  1. Create a desktop entry for Conky in your autostart folder with an editor:
nano ~/.config/autostart/conky.desktop
  1. Input the following into the desktop file:
[Desktop Entry]
Type=Application
Name=conky
Exec=conky --daemonize --pause=5
StartupNotify=false
Terminal=false

The next time you start your computer, it should bring up Conky without your input. Note that --pause=5 in the Exec string means that it will start five seconds after your system starts booting. If you think your computer doesn’t need that kind of time, lower the value or eliminate the flag entirely.

Using Conky Manager to Install Themes

If you’re not in the habit of spelunking through configuration files and just want to quickly get a pretty theme running, Conky Manager will save you all the effort with an elegant and simple GUI that simply works!

Conky Manager

To install Conky Manager:

In Ubuntu:

  1. Add the developer’s own PPA to your list of repositories:
sudo add-apt-repository ppa:teejee2008/foss

This is the only repository managed directly by the developer of the most current Conky Manager. Other repositories will not be up to date.

  1. Refresh the APT cache and install Conky Manager:
sudo apt update && sudo apt install conky-manager2

In Fedora:

This one is a bit trickier, as the official repositories have stopped including it since Fedora 35, but you can build it yourself from GitHub.

  1. Install the prerequisite packages:
sudo dnf install make automake gcc gcc-c++ kernel-devel p7zip p7zip-plugins ImageMagick git vala libgee-devel gtk3-devel gstreamer1-devel clutter-devel webkit2gtk3-devel libgda-devel gobject-introspection-devel json-glib-devel gettext gettext-devel
  1. Clone the developer’s Git repository:
git clone https://github.com/zcot/conky-manager2.git.
  1. Go to the newly created folder and compile it:
cd conky-manager2
make
  1. Install Conky Manager:
sudo make install

If you later want to uninstall it, return to this directory and type

sudo make uninstall

In Arch Linux:

Install Conky Manager from the official repository with:

sudo pacman -S conky-manager

Although the developer of Conky Manager only keeps track of Ubuntu, Arch’s community adamantly maintains an up-to-date package in the official repositories. That’s why it was even easier to install than it was in Ubuntu!

Finding Conky Themes

The good thing about Conky is that it is fully customizable and has plenty of themes to beautify your desktop instantly.

There are two ways of finding themes that are reasonably reliable:

  • GitHub’s conky-theme topic – when sorted by “Recently updated,” you’ll find a significant number of themes for Conky that will work very well with very little modification.
  • OpenDesktop’s pling Conky repository – much like the GitHub topic, this repository will provide several recent themes. You’ll also find theme packs here, allowing you to install several in one go.

Installing the Themes

Before you begin installing themes, read the creator’s instructions! Some of these themes are very complex and contain things like weather and NIC status. They are not uniform in how they approach these topics, so there’s no way to provide one-size-fits-all instructions get them working perfectly. Read what the creator of the theme wrote and you should be fine.

It’s important to note that some themes will ask you to put their files in a particular folder. Pay close attention to this, as putting the files anywhere else will likely break the theme and get it to display incorrectly.

Generally, to install a theme, these are the generic steps:

  1. Download the theme’s zip file from the repository.
  2. Extract the zip file to the directory it belongs in (usually “~/.config/conky” or “~/.conky”).
  3. Open Conky Manager and enable the theme.

If there are other configuration steps provided by the theme’s creator, you may have to follow them. Weather is typically handled by a script that queries a URL with certain parameters. Look for a file like “weather.sh” inside the theme’s directories and edit it to your liking.

Good to know: check out more ways to display the weather forecast on your Linux desktop.

Dealing With Black Backgrounds and Blobbing

Sometimes when you select a theme in Conky Manager, the background is black (instead of transparent) or prints over itself constantly until the information it displays is an unreadable blob.

Conky Broken transparency

This happens because the Conky theme in question didn’t have an alpha channel (for opacity) enabled. Fix this by following the steps below:

  1. Open the configuration file of your theme (usually a “.conf” file somewhere in the theme’s directory or a plain file with no extension).
  2. Find the own_window_argb_visual value and change its value from true to false. If you don’t have such a value, make one in a new line. It should look like: own_window_argb_visual = true,. Don’t forget the comma at the end; otherwise, Conky will fail to load the theme.
  3. Modify or create the value own_window_argb_value so that it looks like: own_window_argb_value = 0,.
  4. Save the config file.

This should immediately reset Conky into something far more easy on the eyes.

Conky Fixedbackground

For white text like that, perhaps a darker desktop background would be required. Of course, this is what theme-making is all about! Find your own path to carry you forward.

If the fix provided here makes the background white instead of transparent, remove this line from the configuration file provided earlier:

own_window_colour = '#FFFFFF',

Conky Alternatives

If Conky is sounding like a headache to you, perhaps you’ll have more luck with these alternatives:

  • GKrellM – A cross-platform system monitor that has theme options to match your desktop environment or window manager. It’s a bit clunkier than Conky and has a slightly dated look, but it’s absolutely perfect for more retro looks. Hint: if you scroll to just before the bottom of the site, you’ll find binary packages if you don’t feel like compiling it from source.
  • Eww – An extraordinarily versatile alternative to Conky with modern and sleek themeing that’s primarily used to spice up window managers. While it’s primarily geared for WM usage, you can still use it in a desktop environment. If you’re using Arch, you can just install the eww package from the AUR.

Frequently Asked Questions

My Conky isn't starting the way I would like when I restart my system. How do I fix this?

If Conky isn’t starting along with your system, Conky Manager may have edited the desktop entry you created without providing a valuable alternative startup. It would ususally do this in “~/.conky/conky-startup.sh”.

You can solve this by starting Conky Manager, selecting the themes you want to load, then closing it. As soon as you close the program, it edits the startup script to include the themes you wanted it to start with.

Why is my Conky theme off-center?

Some themes are designed to be off-center, configured to appear at either edge of your screen. However, if you’re expecting a theme that was designed to be at the center, and it appears out of alignment, have a look at the configuration and check for the value of alignment. Edit it to say 'middle_middle', and you should be set!

If you’re still having problems, you may have changed your display resolution mid-session or are using your operating system in a virtual machine designed to scale the resolution as you resize the window. In this case, just restart Conky or the operating system, and this should fix itself.

How do I take care of Conky flickering?

Edit the theme’s configuration and either edit or add this line within the other value declarations: double_buffer = true

This should enable the Double Buffer Extension support in Conky that will prevent the flickering. If you’re using Wayland, this won’t have much of an effect – the solution there is patience. Conky’s Wayland support is nascen..t and will improve over time!

Is this post useful?
Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Miguel Leiva-Gomez
Miguel Leiva-Gomez - Staff Writer

Miguel has been a business growth and technology expert for more than a decade and has written software for even longer. From his little castle in Romania, he presents cold and analytical perspectives to things that affect the tech world.