How to Add System Information to the Linux Desktop With Conky

If you want CPU, memory, disk, network, and uptime information visible without opening a separate monitor, Conky is still one of the simplest ways to add system information to the Linux desktop. It runs as a lightweight desktop monitor and is highly configurable through a local text file.

One important update to older advice: Conky is no longer limited to X11. Current Conky builds can use Wayland on compositors that support the wlr-layer-shell protocol. GNOME's Mutter compositor does not provide that protocol, so Conky cannot behave as a true background overlay in a GNOME Wayland session. The official Conky FAQ explains the current X11 and Wayland limitations.

1. Install Conky

Conky is packaged by major Linux distributions. On current Ubuntu and Debian package indexes, conky is a virtual package provided by variants such as conky-all, conky-std, and conky-cli. For a graphical desktop setup, conky-all is a practical choice because it includes the broadest set of display and Lua features.

DistributionCommand
Ubuntu / Debiansudo apt update && sudo apt install conky-all
Fedorasudo dnf install conky
Arch Linuxsudo pacman -S conky

You can verify package availability in the official Ubuntu, Debian, Fedora, or Arch Linux package pages.

Linux terminal showing the sudo apt install conky command
Install Conky from your distribution's package manager before creating a desktop configuration.

2. Create a user configuration

Conky's current default user configuration location is ~/.config/conky/conky.conf. The upstream documentation recommends generating a starter configuration with conky -C:

mkdir -p ~/.config/conky
conky -C > ~/.config/conky/conky.conf

This gives you a local file you can edit without changing the system-wide example in /etc/conky/. See the official configuration guide for the current Lua-based syntax.

Linux terminal creating the Conky configuration directory and conky.conf file
Generate a user-level conky.conf so your changes stay inside your home directory.

3. Choose what Conky displays

Open ~/.config/conky/conky.conf in your preferred editor. A compact configuration can show CPU load, memory use, root filesystem usage, and uptime:

conky.config = {
    alignment = 'top_right',
    gap_x = 24,
    gap_y = 48,
    update_interval = 2,
    own_window = true,
    double_buffer = true,
    default_color = 'white',
};

conky.text = [[
SYSTEM
CPU: ${cpu}%
RAM: ${memperc}% ${mem}/${memmax}
Disk: ${fs_used_perc /}% ${fs_used /}/${fs_size /}
Uptime: ${uptime}
]];

Conky supports many more variables, including network throughput, temperatures, processes, battery status, and custom script output. Use conky -v to see which optional features were enabled when your package was built.

Text editor showing a Conky configuration with CPU, RAM, disk, and uptime variables
Edit conky.conf to control placement, refresh rate, colors, and the system values shown on the desktop.

4. Start, test, and stop Conky

Run Conky from a terminal so any configuration errors are visible immediately:

conky -c ~/.config/conky/conky.conf

Because that path is the normal user configuration location, running conky by itself is usually enough after the file is in place. To stop all Conky processes for your user session, run pkill conky.

Linux desktop with a terminal launching conky and a system monitor overlay in the top right
Launch Conky from a terminal first so you can see errors while testing the configuration.

Once the configuration is working, you can remove or add lines in conky.text until the overlay contains only the information you actually want to watch.

Linux desktop showing a Conky system monitor with CPU, RAM, disk, network, and uptime values
A finished Conky layout can keep key system information visible without opening a full monitoring application.

5. Adjust placement and window behavior

For X11 desktops, settings such as alignment, gap_x, gap_y, own_window, and window hints determine where Conky sits and whether it behaves like a desktop widget. Desktop environments handle layers and transparency differently, so start with a simple configuration and change one window option at a time.

Conky configuration editor showing top right alignment, gaps, and own window settings
Window settings control where Conky appears and how it interacts with the desktop on X11.

6. Use Conky on Wayland when your compositor supports it

First check your session type with echo $XDG_SESSION_TYPE. On a Wayland compositor that supports wlr-layer-shell, enable Wayland output and disable X output in the conky.config block:

out_to_x = false,
out_to_wayland = true,

Compositors such as Sway, Hyprland, and Wayfire support the layer-shell model described by the Conky project. GNOME Wayland is the major exception: Mutter does not implement the protocol Conky needs for a desktop-layer widget. If your distribution still offers an Xorg session, that is an alternative; otherwise Conky may need to run as a normal window or under a different compositor.

Conky configuration editor with out_to_x disabled and out_to_wayland enabled
On supported Wayland compositors, switch Conky output from X to Wayland in conky.conf.

7. Start Conky automatically when you sign in

Create the standard per-user autostart directory, then save a desktop entry as ~/.config/autostart/conky.desktop:

[Desktop Entry]
Type=Application
Name=Conky
Exec=conky
Terminal=false
StartupNotify=false

Do not add & to the Exec line. A desktop entry launches the program directly, and Conky can find ~/.config/conky/conky.conf automatically. The upstream FAQ also notes that a .desktop autostart entry is often simpler than a user service on X11 because it inherits the graphical session environment.

Text editor showing a conky.desktop autostart entry in the user autostart directory
A small desktop entry can launch Conky automatically at login.

Quick troubleshooting checklist

  • Nothing appears: run conky in a terminal and read the error output.
  • Configuration is missing: regenerate it with conky -C > ~/.config/conky/conky.conf.
  • Wayland overlay does not work: check echo $XDG_SESSION_TYPE and confirm that your compositor supports wlr-layer-shell.
  • A feature is unavailable: run conky -v and check the compiled-in options.
  • You want to reset: move your custom conky.conf aside and generate a fresh default configuration.

For the authoritative list of settings and supported variables, use Conky's built-in manual pages and the official Conky project.

Leave a Comment

How to Record Speaker Output on Linux with Audacity

How to Record Speaker Output on Linux with Audacity

Capture Linux desktop audio in Audacity by routing its recording stream to your output device’s monitor source. Follow PulseAudio and PipeWire steps, export tips, and fixes for silent tracks.

How to Use Dropbox on Linux: Install and Sync Your Files

How to Use Dropbox on Linux: Install and Sync Your Files

Install Dropbox on Linux from the official package, sign in, sync a local folder, manage selective sync, and check status from the command line.

How to Install Inkscape on Linux: Ubuntu, Fedora, Arch, and More

How to Install Inkscape on Linux: Ubuntu, Fedora, Arch, and More

Install Inkscape from your Linux distribution’s repositories, the Ubuntu stable PPA, Snap, or Flathub, with current commands and notes for choosing a package source.

How to Find and Remove Duplicate Files on Linux With FSlint

How to Find and Remove Duplicate Files on Linux With FSlint

Use FSlint to scan selected Linux folders, review duplicate groups, and safely delete redundant files or learn when hard-link merging is appropriate.

How to Install SABnzbd on Linux and Configure It

How to Install SABnzbd on Linux and Configure It

Install SABnzbd on Ubuntu or Debian, or run it in Docker on another Linux host. Then open the web interface and configure your provider and download folders.

How to Install the Paper GTK Theme on Linux

How to Install the Paper GTK Theme on Linux

Install the Paper GTK theme from supported Linux repositories, enable it for GTK apps in GNOME Tweaks, and see what the legacy theme can and cannot change.

How to Install and Set Up Plex on OpenMediaVault with Compose

How to Install and Set Up Plex on OpenMediaVault with Compose

The old OpenMediaVault Plex plugin is archived. Set up Plex on OMV 8 with OMV-Extras, the Compose plugin, persistent storage, and Plex’s official container.

How to Clean and Speed Up Ubuntu Safely

How to Clean and Speed Up Ubuntu Safely

Clean and speed up Ubuntu with safe APT cleanup, storage checks, and startup controls that help free space and troubleshoot a sluggish desktop.

How to Install the Hiri Email Client on Linux

How to Install the Hiri Email Client on Linux

Install Hiri on Linux with its Snap package or official tarball, add a desktop launcher, and check supported accounts plus a warning about Hiri’s old Snap release.

How to Get System Specifications for a Linux PC

How to Get System Specifications for a Linux PC

Use Fastfetch and built-in Linux commands to check your distro, kernel, CPU, memory, graphics, storage, and connected devices, then save a clear report.