Is it okay to install Conky in Bluefin, or is there something better?

Hi there,
I am tempted to install Conky and bring my monitoring scripts to Bluefin-DX to monitor RAM, CPU, disk usage by the virtual machines created with Virtual Manager.

Do you think is a good idea to install Conky in Bluefin?

Conky is not available via brew or flatpak, so a distrobox will have to do.

Any thoughts? Recommendations?

I gave it a try to running Conky from an Ubuntu distrobox with 90% success.
Why not 100%?

Because Conky runs fine if I invoke it from within the distrobox but it doesn’t if I run it from the host with:

distrobox-enter -n ubuntu-nvidia — ~/.conky/start.sh

start.sh is a script that makes several calls to conky -c conkyConfigFile

Following the errors one could say that executing conky from the host invokes a package, inxi, not from the container but from the host, even though inxi being exported as a binary to the host.

Finally, success!

I was able to fix the issue with the string conversion between host and container when Python 3.12 calls os.popen("inxi -aG -y1").read() to get information about the GPU and monitors. The string was mixed with special characters that made impossible the parsing:

Very weird! Only happening when calling the script with the classic:

/usr/bin/distrobox-enter  -n ubuntu-nvidia  --  './start.sh' &

But no problem at all when running the script from within the distrobox.

My conky configuration is automatically generated by Python scripts. That’s why it gave me extra hard time. For standard conky scripts a distrobox will work out of the box after installing conky in the container.

Dependencies

Since I am using ubuntu:latest, these are the minimum Linux packages required:

sudo apt install conky-all
sudo apt install lm-sensors
sudo apt install lshw
sudo apt install inxi
sudo apt install wireless-tools
sudo apt install psmisc
sudo apt update && sudo apt-get install -y lsb-release

Screenshot

Theme: AutomatiK

Conclusions

  1. conky works by installing it from an AppImage or a distrobox container. I couldn’t find a flatpak available for it.

  2. If the conky script is simple like the default conky.conf, the AppImage will suffice. If it is a bit complex - for example, where the conky files are generated by Python scripts - then, you will need to create a dedicated distrobox. I am using the conky theme AutomatiK, which uses Python 3.12 to generated the conky scripts.

  3. If you have a GPU, in my case, it is a Nvidia GeForce RTX 3080, you will need to install the distrobox with Nvidia drivers and tools. The conky script may need to execute nvidia-smi to retrieve data about the GPU. This is the distrobox command:

distrobox create --nvidia --name ubuntu-nvidia --image ubuntu:latest

The flag —nvidia will call the nvidia-docker-container toolkit, part of the layered packages, to build a distrobox with all the Nvidia libraries inside the container

  1. I also tried running Conky from Docker container but none of the available in GitHub worked. Even one that was building Conky from source failed because of a broken dependency. Link here and here

  2. If you make layered-vscode to work with distrobox, then, modifying the Lua or Python scripts from within the container will make it much easier for you.

TO DO

  • Make the distrobox to gather data about the host
  • Add some Fedora Silverblue variables to conky such as OS version, pinned versions, etc.
  • Applications inventory, such as how they were installed. Which ones are distroboxes, or Docker containers, or brew-installed, layered, or flatpaks, or AppImages.

Thanks for pointing me toward the Appimage. There are a few snags compared to ubuntu, but my ancient .conkyrc loaded up. There’s a few snags like colors, window and font size with my 150% scaled resolution, and cpu temp. I deleted some stuff, but might add back a couple things. This is pretty expected as I’ve migrated the config over multiple distros.

But yes, Appimage looks like the way to go for simple stuff. Your screenshot looks insane!

1 Like