Setting Up Conky
This guide will step you through initial installation and configuration of Conky for Ubuntu. Conky is extremely configurable; there are virtually unlimited ways of configuring it. The nuances of advanced conky configuration are beyond the scope of this article, but many resources exist online regarding this subject. A few are given here for anyone interested:
First, let’s define the various aspects of conky.
CONKY – Conky is a system monitor for X originally based on the torsmo code.
Since its original conception, Conky has changed a fair bit from its predecessor. Conky can display just about anything, either on your root desktop or in its own window. Conky has many built-in objects, as well as the ability to execute programs and scripts, then display the output from stdout.
First, you need the file “conky” and I’d suggest you look at curl, lm-sensors and hddtemp as well, described below. You may as well get them now, I’ll bet you will in the future if you don’t:
sudo apt-get install conky-all
CURL – Get a file from an HTTP, HTTPS or FTP server
curl is a client to get files from servers using any of the supported protocols. The command is designed to work without user interaction or any kind of interactivity.
curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, file transfer resume and more.
LM-SENSORS – utilities to read temperature/voltage/fan sensors
Lm-sensors is a hardware health monitoring package for Linux. It allows you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems.
This package contains programs to help you set up and read data from lm-sensors.
HDDTEMP – hard drive temperature monitoring utility
In order to use the above code without sudo or root to get the hard drive temperature displayed in conky; one can run the following
after the prompt:
sudo dpkg-reconfigure hddtemp
The hddtemp program monitors and reports the temperature of PATA, SATA or SCSI hard drives by reading Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.) information on drives that support this feature.
If you want all four, it’s easy:
sudo apt-get install conky curl lm-sensors hddtemp
Running & Configuration
To run conky, open a terminal and type:
and you’ll see a little window open and display a basic conky. That’s the default conky configuration. The file can be found in /etc/conky/conky.conf.
However, you likely want it on your desktop all the time and customized for your system, not in a pop-up window. This can be done by creating and editing a file in your home directory called .conkyrc. Create an empty file in your home folder and name it .conkyrc. The period at the beginning of the filename sets it to hidden, so to view the file in your file manager you must enable viewing hidden files/folders. In most file managers you can activate this by pressing Ctrl+h. It is usually best to start with an existing .conkyrc file and edit to suit your tastes. You can copy the contents of /etc/conky/conky.conf into the new .conkyrc and edit that, or you can find a config file on the web and use it. Regardless, paste the contents of the existing conky file into the new .conkyrc and save.
Conky is very popular and .conkyrc files are available all over the web. One good place to start would be this thread in the Ubuntu forums.
Now restart conky by running
killall -SIGUSR1 conky
It will now be using your new .conkyrc file.
Set Conky To Start At Boot
Conky only becomes useful when it is set to start up at boot. Here’s how in Ubuntu and the various respins.
Click the gear icon in the upper right hand corner of the top panel. Select Startup Applications. Click Add. In the resulting dialog box give the name as “Conky” and the command as conky. Click add and close.
In Ubuntu/Gnome Shell
Press Alt+F2 to bring up the Run dialog. Type gnome-session-properties. Click the “Add” button. In the resulting dialog box give the name as “Conky” and the command as conky. Click add and close.
Go to K-Menu>Computer>System Settings. Select Startup and Shutdown and click the Add Program button. Type conky and click OK.
Run the following commands in a terminal:
mkdir -p ~/.config/lxsession/Lubuntu/
Add this line to the autostart file:
Save and close.
In the Applications menu open Settings Manager and select Session and Startup. On the Application Autostart tab click the Add button. In the resulting dialog box give the name as “Conky” and the command as conky.
Running Multiple Conky
You may wish to run multiple instances of Conky on your desktop. You could be running a system info Conky on the left side of your desktop and a weather Conky along the bottom; the options are nearly infinite.
First you need to be sure your Conky are aligned on the desktop differently, so they don’t overlap each other. You can specify the alignment of a Conky in the .conkyrc file by changing the line beginning with “alignment”. The syntax is as follows:
alignment top_right # top_right, top_left, bottom_left, bottom_right
To set multiple Conky to run at startup, create a folder called .conky.
Save your different Conky config files in there. You may want to name them .conkyrc_top, .conkyrc_bottom, etc. You should save all your Conky config files there. Next create a script that will execute all these Conky files. Something like the following:
conky -c ~/.conky/.conkyrc_top &
conky -c ~/.conky/.conkyrc_bottom
Note that all commands except the last must be appended with an ampersand (&) so that the script will not stop at the first command.
The “conky -c random_file” command simply tells conky to use random_file for configuration instead of the default ~/.conkyrc. Save this file as conky_start in ~/bin; if the folder does not already exist, create it.
Next set it to exectuable:
chmod a+x ~/bin/conky_start
Now follow the instructions given above on autostarting, only substitute “conky_start” for “conky”. NOTE: In Kubuntu, you must choose “Add Script” rather than “Add Program”.
If you’ve already set “conky” to launch at startup, you must remove it when adding “conky_start”. Although this will get you started with a functioning Conky, this is only the beginning. Enjoy configuring it to your liking, and feel free to share your config files!