Довольно удобно бывает следить за состоянием системы, не отрываясь от текущих задач, особенно учитывая прожорливость современных редакторов и IDE. Для этого и предназначены системные мониторы, например, conky, в народе называемого просто «коньками». Вообще, настроить conky — дело несложное и весьма творческое, даже увлекательное, но для этого необходимо иметь примерные представления о порядке действий и возможных параметрах.
image
В статье описывается пример настройки conky для отображения в виде полоски.
Эта статья во многом опирается на пост Virens'a: его блог

Установка
Процесс установки сводится к простой установке пакета с зависимостями.
Для Debian-совместимых — sudo apt-get install conky
Для набирающего популярность Arch Linux — sudo pacman -Sy conky
Для Gentoo можно и не пояснять, но всё же — emerge -av conky

Настройка внешнего вида
Не думаю, что первоначальный вид conky может кого-либо устроить, очень уж он стандартен.
Настройки могут хранится в двух местах, это либо .conkyrc в домашней директории, либо /etc/conky/conky.conf. При отсутствии первого — используется второй.
Первая часть конфига отвечает за внешний вид окна conky, начиная от шрифтов и заканчивая параметрами поведения окна.
Conky использует xft для вывода текста, соответственно, для установки шрифта по умолчанию используется параметр xftfont.
xftfont terminus:size=7
Вообще, могу посоветовать этот шрифт для всех системных нужд.
После этого нужно бы этот xft включить.
override_utf8_locale yes # необходимо для xft
use_xft yes

Интервал обновления должен быть в пределах 1-4 секунд, слишком быстрое обновлние увеличивает портебление ресурсов.
update_interval 4.0
Мы будем запускать conky в отдельном окне, поэтому
own_window yes
own_window_type отвечает за поведение окна, в нашем случае оно должно находится на уровне рабочего стола
own_window_type desktop # также возможны normal и override
own_window_colour — цвет фона
own_window_colour 505050
Для обновления текста без противного мерцания можно использовать двойную буфферизацию, хотя это и увеличивает затраты ресурсов.
double_buffer yes
Размеры окна указываются с помощью параметра minimum_size, например, для отображения в виде полоски на всю ширину экрана:
minimum_size 1276 5 # для ширины экрана 1280 пикселов
Следующий параметр необходим для настройки расположения окна программы:
alignment top_left # расположение сверху слева.
Начальные координаты устанавливаются параметрами gap_x и gap_y.
gap_x 0 # начальные координаты: X
gap_y 0 # начальные координаты: Y

На этом настройки внешнего вида закончены, переходим к творческой части.

Выводимый текст
Conky позволяет выводить очень много разнообразной системной и не очень информации: частоты, температуру, свободный обьем памяти, скорость соединения, погоду, текущий трек и т. п. Что именно выводить — выбор за вами:)
В окно выводится всё то, что описано после директивы TEXT.
Примерный вид возможных переменных
${переменная параметры}
$элемент оформления
${color цветтекста}
${переменная параметры}

Вообще, переменных настолько много, что гораздо проще взять готовый конфиг и выцепить из него то, что так захотелось. Много хороших примеров есть на http://conky.sourceforge.net/screenshots.html

Вот некоторые из переменных:
exec выводит на экран текст, возвращаемый вызываемой программой;
execbar и execgraph визуализируют вывод исполняемой команды в виде диаграммы или графика (выводимое значение должно лежать в пределах 0..100);
execi и texeci запускают команду циклически с интервалом (texeci — с интервалом, заведомо большим времени исполнения). execibar и execigraph полностью аналогичны execbar и execgraph, но для циклического выполнения команд;
if_running, if_existing и if_mounted — выводят всё вплоть до endif, если выполняется процесс, существует файл и монтирована точка монтирования, соответственно;
else — выводить, если ложны все вышестоящие выражения.

Интересными являются способы вывода температуры устройств. Рассмотрим вывод информации для ядер процессора и для жесткого диска.
Прежде всего, нам будут нужны два пакета — lm-sensors и hddtemp.
После установки lm_sensors неплохо было бы найти поддерживаемые датчики, благо делается это в автоматическом режиме, с помощью sensors-detect. После этого можно пробовать вывести данные датчиков командой sensors. Заработало — идем дальше, нет — читаем мануал по настройке lm-sensors, здесь это не основная тема.
Пример переменной, которая выводит температуру первого ядра процессора(не факт, что ваши пааметры будут похожими): е
${execi 10 sensors k8temp-pci-00c3 | grep Core1 -n | grep 6: | cut -b17-18}
С выводом температуры жесткого диска всё немного сложнее — всё дело в том, что для чтения блочного устройства /dev/sd*(что необходимо для запуска hddtemp) необходимы права администратора, а наш conky не обладает такими правами. Решений этого вопроса много, но есть одно приятное и красивое — чтение значения с помощью netcat.
Для этого запустим hddtemp в режиме демона:
/etc/rc.d/hddtemp start
После этого можно получать значение температуры с помощью переменной
${execi 10 netcat localhost 7634 | cut -c33-34}
Опять-же, не факт, что такие параметры подойдут для вашей системы.
При использовании openbox и conky в режиме длинной полоски — можно выставить в obconf значение margin на 15 пикселов сверху, тогда остальные окна не будут перекрывать окно conky.
Хорошая статья также лежит на http://www.linuxcenter.ru/lib/articles/soft/conky_as_example.phtml
В конце приведу скриншот своего рабочего стола
image
и пример моего .conkyrc.