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

В статье описывается пример настройки conky для отображения в виде полоски.
Эта статья во многом опирается на пост Virens'a: его блог
Установка
Процесс установки сводится к простой установке пакета с зависимостями.
Для Debian-совместимых —
Для набирающего популярность Arch Linux —
Для Gentoo можно и не пояснять, но всё же —
Настройка внешнего вида
Не думаю, что первоначальный вид conky может кого-либо устроить, очень уж он стандартен.
Настройки могут хранится в двух местах, это либо .conkyrc в домашней директории, либо /etc/conky/conky.conf. При отсутствии первого — используется второй.
Первая часть конфига отвечает за внешний вид окна conky, начиная от шрифтов и заканчивая параметрами поведения окна.
Conky использует xft для вывода текста, соответственно, для установки шрифта по умолчанию используется параметр xftfont.
Вообще, могу посоветовать этот шрифт для всех системных нужд.
После этого нужно бы этот xft включить.
Интервал обновления должен быть в пределах 1-4 секунд, слишком быстрое обновлние увеличивает портебление ресурсов.
Мы будем запускать conky в отдельном окне, поэтому
own_window_type отвечает за поведение окна, в нашем случае оно должно находится на уровне рабочего стола
own_window_colour — цвет фона
Для обновления текста без противного мерцания можно использовать двойную буфферизацию, хотя это и увеличивает затраты ресурсов.
Размеры окна указываются с помощью параметра minimum_size, например, для отображения в виде полоски на всю ширину экрана:
Следующий параметр необходим для настройки расположения окна программы:
Начальные координаты устанавливаются параметрами gap_x и gap_y.
На этом настройки внешнего вида закончены, переходим к творческой части.
Выводимый текст
Conky позволяет выводить очень много разнообразной системной и не очень информации: частоты, температуру, свободный обьем памяти, скорость соединения, погоду, текущий трек и т. п. Что именно выводить — выбор за вами:)
В окно выводится всё то, что описано после директивы TEXT.
Примерный вид возможных переменных
Вообще, переменных настолько много, что гораздо проще взять готовый конфиг и выцепить из него то, что так захотелось. Много хороших примеров есть на 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, здесь это не основная тема.
Пример переменной, которая выводит температуру первого ядра процессора(не факт, что ваши пааметры будут похожими): е
С выводом температуры жесткого диска всё немного сложнее — всё дело в том, что для чтения блочного устройства /dev/sd*(что необходимо для запуска hddtemp) необходимы права администратора, а наш conky не обладает такими правами. Решений этого вопроса много, но есть одно приятное и красивое — чтение значения с помощью netcat.
Для этого запустим hddtemp в режиме демона:
После этого можно получать значение температуры с помощью переменной
Опять-же, не факт, что такие параметры подойдут для вашей системы.
При использовании openbox и conky в режиме длинной полоски — можно выставить в obconf значение margin на 15 пикселов сверху, тогда остальные окна не будут перекрывать окно conky.
Хорошая статья также лежит на http://www.linuxcenter.ru/lib/articles/soft/conky_as_example.phtml
В конце приведу скриншот своего рабочего стола

и пример моего .conkyrc.

В статье описывается пример настройки 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 и overrid
eown_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
В конце приведу скриншот своего рабочего стола

и пример моего .conkyrc.