Gentoo Linux Conky Howto
1. Background
Introduction to Conky
So you have a Gentoo machine, and have already learned 30 different commands to
monitor different aspects of what your computer is doing at the current moment.
What do you do from here? Isn't there an easier way to monitor system
performance and see what it's doing, as well as the resources it's using to
perform all those tasks? This is what a system monitor, such as Conky,
provides.
What it does
Unlike other system monitors such as top, Conky can run as a window in an X
session, or by drawing to the root window (there is also an option to have
Conky display information to stdout, but we won't discuss that here). It
displays the information it has gathered through the use of both text,
progress bars, and graphs. Also, unlike top, the way it is formatted is
completely user-configurable. In addition to monitoring the system itself,
Conky can also give you information about several music players (such as XMMS,
BMPx, Music Player Daemon, and Audacious Media Player), tell you how many new
messages are in your mail spool, and plenty more. If the functionality you
require isn't in Conky yet, it is a simple matter of writing a script to get
the information you would like - some examples of this, which have already been
done are RSS feeds, POP3 e-mail message count, local weather, boinc status, and
even the status of portage.
2. Installing Conky
Base install
Gentoo provides an ebuild to quickly and easily install Conky. Pay particular
attention to the the USE flags. You'll most likely want X11 support
(X), and make sure you select the USE flags for any music players (other
than MPD) which you want. XMMS (xmms), Audacious (audacious), or
XMMS support via the xmms-infopipe plugin (infopipe). If you want to
use the TCP port monitor, be SURE to disable the ipv6 use flag, as the
port monitor is for ipv4 systems only.
In addition, the truetype USE flag compiles support for TrueType fonts
with the use of Xft. Most users will want this as well.
Code Listing 2.1: /etc/portage/package.use |
# echo app-admin/conky truetype audacious -xmms -infopipe -ipv6 >> /etc/portage/package.use
|
Once you have your USE flags correctly set up, it's time to install Conky!
Code Listing 2.2: Installing Conky |
# emerge -av conky
|
You can test Conky to see how it will look by running the command conky
in a terminal. This will likely give you a good reference to how it will look
and what you want to change, add or even remove.
Code Listing 2.3: Running Conky for the first time |
$ conky
|
Once you have an idea of how Conky looks, you can now move on to configuring
it!
Configuring Conky
By default, Conky will look for a configuration file in the user's home
directory located at ~/.conkyrc This file contains all the
configuration options, and the static text, colors and other variables which
control what data is shown to the user. Conky also provides a great sample
configuration, located at
/usr/share/doc/<conky-version>/Conkyrc.sample.gz Make sure
to replace <conky-version> with the specific version of Conky you have
installed.
Code Listing 2.4: Copying the sample configuration to your home directory |
$ zcat /usr/share/doc/conky-1.4.0-r1/conkyrc.sample.gz >> ~/.conkyrc
|
Now, open up the sample configuration in the text editor of your choice. You
may notice that there are two separate sections of the configuration file. The
first section of the file, contains the program configuration options and
controls how it acts. This includes things such as the
update_interval, or how often Conky will update the information on the
screen. The second section contains the actual text, graphs, and variables
which are rendered on the screen. This includes things such as the system
uptime ($uptime), cpu usage ($cpu) and anything else you want to
be shown. The first section of the file starts right from the beginning, the
second section consists of everything after the line which says TEXT.
Comments in the file start with #, but keep in mind that even if a line
is commented out in the second section of the file, the text will still be
rendered to the screen.
Lists of all the available configuration options and variables are kept at
http://conky.sourceforge.net/config_settings.html and
http://conky.sourceforge.net/variables.html. Besides, there are a
few great screenshots along with sample configurations and scripts at
http://conky.sourceforge.net/screenshots.html.
3. Extending Conky
Beyond the built-in variables
So you've gotten this far, and have scoured the Conky documentation for that
extra variable which Conky just doesn't seem to have... You're in luck! Conky
provides several variables for just this reason! $exec Will run a
command every time Conky updates, $execi will run a command at a
specified interval and $texeci will run a command in its own thread at a
specified interval.
Code Listing 3.1: Scripting examples |
${exec grep 'sudo' /var/log/messages | tail -n 4}
${execi 30 ~/scripts/emerge-status.sh
${texeci 600 ~/scripts/gmail.pl}
|
Note:
While any command which works in a command shell will work in any of these
variables, it is important to keep in mind that the commands must exit. This
means that commands like tail -f which keep running will not work
properly.
|
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|