Conky – удобный и информативный ситемный монитор

Разное > Тюнинг
Если вы пользуетесь операционной системой Ubuntu и любите всякие гаджеты, то вот пример одного из них. Точнее это даже не гаджет, а удобный и достаточно информативный системный монитор, который сможет отображать полную информацию о вашем компьютере. Большим преимуществом этого системного монитора является гибкость в настройке, и его внешний вид полностью зависит от вашего желания.

Установка Conky

Установку этого системного монитора можно выполнить как с помощью менеджера пакетов Synaptic, так и с консоли набрав следующую команду:

sudo apt-get install conky

Настройка Conky

После установки программы его конфигурационный файл вы сможете найти в /etc/conky/conky.conf. Но надобности править основной конфиг нет, так как Conky перед запуском проверяет домашний каталог пользователя на наличие файла conkyrc. Его мы и будем править. Для этого находясь в своем домашнем каталоге создайте файл conkyrc с помощью, к примеру, Gedit или в любом другом текстовом редакторе:

gedit ~/.conkyrc

Далее более подробно рассмотрим этот конфигурационный файл. Он делиться на две части:

первая отвечает за внешний вид системного монитора вторая (она идет после слова TEXT) за то, что он будет отображать

Таблица с основными параметрами (до слова TEXT)

Параметр Описание
TEXT Дальше идет текст, выводимый на экран. Обратный слэш (\) обозначает новую строку
alignment Задает позицию на экране, может принимать значения
top_left вверху слева, top_right (вверху справа), top_middle (вверху посередине), bottom_left (внизу слева), bottom_right (внизу справа), bottom_middle (внизу посередине), middle_left (слева по центру), middle_middle (по цетру), middle_right (справа по центру), или none
так же возможны аббревиатуры tl, tr, tm, bl, br, bm, ml, mm, mr
append_file Прикрепить файл для вывода
background Если yes, Conky будет запущен в фоне
border_inner_margin Отступ между границей и текстом в пикселах
border_outer_margin Отступ между границей и краем окна в пикселах
border_width Толщина границы в пикселах
colorN Цвет для использования внутри сегмента TEXT, применяется к последующим элементам. Замените N на цифру от 0 до 9 включительно. При указании цвета в шестнадцатеричном формате опустите ‘#’
cpu_avg_samples Количество замеров для усреднения значения нагрузки на процессор
default_bar_size Ширина и высота баров. Например ‘default_bar_size 0 6′
Особенно это полезно для execbar и execibar, поскольку у них отсутствует параметр размера
default_color Цвет по умолчанию и цвет границы
default_gauge_size Ширина и высота датчиковю. Например ‘default_gauge_size 25 25′
Особенно это полезно для execgauge и execigauge, поскольку у них отсутствует параметр размера
default_graph_size Ширина и высота графиков. Например ‘default_graph_size 0 25′
Особенно это полезно для execgraph и execigraph, поскольку у них отсутствует параметр размера
default_outline_color Цвет окантовки
default_shade_color Цвет тени от текста и границы
disable_auto_reload Включите для отключения автоматической перезагрузки при изменении файла настроек
diskio_avg_samples Количество замеров для усреднения значения операций ввода-вывода дисков
display Дисплей X для вывода
double_buffer Использовать или нет расширение Xdbe (устраняет мерцание)
Рекомендуется установить ‘own_window yes’, тогда буфер будет занимать меньше памяти
draw_borders Включает отображение границы вокруг текста
draw_graph_borders Включает отображение границы вокруг графиков
draw_outline Включает отображение окантовки
draw_shades Включает отображение тени
extra_newline Добавить еще одну строку в конец при выводе в stdout
font Название шрифта в X
format_human_readable При включении значения в байтах будут заменены на соответствующие значения в KiB, MiB и т. д.
gap_x Отступ в пикселах по горизонтали от края экрана, указанного в alignment
gap_y Отступ в пикселах по вертикали от края экрана, указанного в alignment
hddtemp_host Хост для подключения к hddtemp, по умолчанию ’127.0.0.1′
hddtemp_port Порт для подключения к hddtemp, по умолчанию 7634
if_up_strictness Насколько точен должен быть if_up при проверке интерфейса на доступность, возможные значения
up интерфейс доступен
link интерфейс доступен и есть связь
addres интерфейс доступен, есть связь и назначен IP аддрес
imap Задает глобальный IMAP сервер, параметры:
хост имя пароль [-i интервал (в секундах)] [-f 'папка'] [-p порт] [-e 'команда'] [-r попыток]
По умолчанию порт 143, папка ‘INBOX’, интервал 5 минут, количество попыток 5. Если пароль задан как ‘*’, то он будет запрошен при запуске Conky
imlib_cache_flush_interval Интервал (в секундах) сброса кэша Imlib2
imlib_cache_size Размер кэша Imlib2 в байтах, по умолчанию 4MiB
Установите 0 чтобы отключить кэш изображений
lua_draw_hook_post Если задана, функция будет вызвана каждый раз после отрисовки окна. Требуется поддержка X. Принимает любые числа в качестве аргументов. Используйте этот hook для отрисовки вещей поверх того, что отображает Conky
Conky добавляет ‘conky_’ к названиям своих функций для предотвращения случайного вызовова неверной функции
lua_draw_hook_pre Если задана, функция будет вызвана каждый раз перед отрисовкой окна. Требуется поддержка X. Принимает любые числа в качестве аргументов. Используйте этот hook для отрисовки вещей поверх того, что отображает Conky
Conky добавляет ‘conky_’ к названиям своих функций для предотвращения случайного вызовова неверной функции
lua_load Загрузить Lua скрипты, перечисленные через пробел
lua_shutdown_hook Если задана, функция будет вызвана при завершении Conky или при перезагрузке файла настроек. Используйте этот hook для уборки за собой, например освобождения памяти, которая была выделена внешними библиотеками через lua
Conky добавляет ‘conky_’ к названиям своих функций для предотвращения случайного вызовова неверной функции
lua_startup_hook Если задана, функция будет вызвана при старте Conky или при перезагрузке файла настроек. Используйте этот hook для инициализации переменных или для выполняемых только один раз приложений
Conky добавляет ‘conky_’ к названиям своих функций для предотвращения случайного вызовова неверной функции
mail_spool Почтовый ящик для проверки
max_port_monitor_connections Разрешить каждому монитору портов отслеживать не более этого количества соединений, по умолчанию 256
max_specials Максимальное количество специальных вещей (fonts, offsets, aligns и т.д), по умолчанию 512
max_text_width Максимальное количество символов в строке, последующие символы будут расположены в новой строке
Если хотите убедиться, что строка не будет разорвана, установите 0
max_user_text Максимальный размер пользовательского текста внутри сегмента TEXT, по умолчанию 16384B
maximum_width Максимальная ширина окна
minimum_size Минимальный размер окна
mpd_host Хост MPD
mpd_password Пароль от MPD сервера
mpd_port Порт MPD сервера
music_player_interval Интервал обновления информации от аудиоплеера, по умолчанию – интервал обновления Conky
net_avg_samples Количество замеров для усреднения значения сетевой статистики
no_buffers Вычитать буфер (file system) из используемой памяти?
nvidia_display Дисплей, который будет использовать переменная nvidia
out_to_console Выводить текст на stdout
out_to_ncurses Выводить текст в консоль, но использовать ncurses для вывода нового текста поверх старого
out_to_stderr Выводить текст на stderr
out_to_x При отключении не будет вывода в X (полезно когда используется вывод в консоль), по умолчанию yes
При установке в no убедитесь, что установлено перед всеми X-зависимыми настройками (поместите первой строкой для надежности)
override_utf8_locale Включение UTF8 независимо от локали системы. Требует XFT
overwrite_file Переписывать файл, заданный в append_file
own_window Создавать собственное окно или нет
own_window_class Вручную задать WM_CLASS, по умолчанию «Conky»
own_window_colour При ‘own_window_transparent no’ задает цвет фона, по умолчанию черный
Задается либо шестнадцатеричным значением без »#», либо именным цветом (см. /usr/lib/X11/rgb.txt)
own_window_hints При ‘own_window yes’ используется для изменения отображения окна: undecorated, below, sticky, skip_taskbar, skip_pager
При ‘own_window_type override’ этот параметр игнорируется
Используйте ‘own_window_type desktop’ как другой способ включить многие из этих функций
own_window_title Вручную задать имя окна, по умолчанию »– conky»
own_window_argb_visual Включает полупрозрачность. Для корректной работы необходим композитный менеджер
При ‘own_window_type override’ этот параметр игнорируется
own_window_argb_value При ‘own_window_argb_visual yes’ задает уровень прозрачности фона, принимает значение от 0 (прозрачный) до 255 (непрозрачный)
own_window_transparent Делает фон полностью прозрачным
own_window_type При ‘own_window yes’ задает тип окна: normal, desktop, dock, panel или override, по умолчанию normal
desktop – окно без декораций, всегда видимо на рабочем столе, отсутствует в переключателе окон и панели задач
panel – так же как и панели резервирует место вдоль края рабочего стола, предотвращая перекрытие развернутыми на весь экран окнами. край выбирается на основании значения alignment
override – не управляется оконным менеджером. own_window_hints игнорируется. Полезно в некоторых ситуациях
pad_percents Pad percentages to this many decimals (0 = no padding)
pop3 Задает глобальный POP3 сервер, параметры:
хост имя пароль [-i интервал (в секундах)] [-p порт] [-e 'команда'] [-r попыток]
По умолчанию порт 110, интервал 5 минут, количество попыток 5. Если пароль задан как ‘*’, то он будет запрошен при запуске Conky
short_units Сокращать единицы измерения до одной буквы (kiB→k, GiB→G и так далее), по умолчанию ‘off’
show_graph_range Показывать временной диапазон, охватываемый графиком
show_graph_scale Показывать максимальное значение в графике
stippled_borders Прерывистость границы окна в пикселах
temperature_unit Единицы измерения температуры, значения «fahrenheit» или «celsius», по умолчанию «celsius»
templateN Определяет шаблон для последующего использования внутри сегмента TEXT. Замените N на цифру от 0 до 9 включительно. Значения аргументов записываються в соответствующее положение при обьявлении переменной внутри сегмента TEXT
‘\n’ → новая строка
‘\\’ → обратный слэш
‘\ ‘ → пробел
‘\X’ → аргумент шаблона X
text_buffer_size Размер текстового буфера, по умолчанию 256 байт
Этот буфер используется для промежуточных текстовых данных, таких как вывод $exec или других переменных. Увеличение размера этого буфера может снизить производительность Conky, но позволит выводить больше текста от переменных
Размер буфера не может быть меньше значения по умолчанию
times_in_seconds При включении переменные, выводящие время, будут выводить его в секундах одним числом
Не влияет на $time, $tztime и $utime
top_cpu_separate Отображать в $top нагрузку на один процессор (yes) или на все процессоры вместе (no)
top_name_width Количество символов в имени процесса в $top, по умолчанию 15
total_run_times Количество обновлений, после которых Conky выключится
0 – работать постоянно
update_interval Интервал обновления в секундах
update_interval_on_battery Интервал обновления при работе от аккумулятора
uppercase Включите для отображения текста В ВЕРХНЕМ РЕГИСТРЕ
use_spacer Добавляет пробелы вокруг некоторых обьектов для предотвращения смещения ими соседних вещей, может принимать значения:
left, right или none, по умолчанию none
Помогает только при использовании моноширинного шрифта, например Bitstream Vera Sans Mono
use_xft Включите для использования Xft
xftalpha Прозрачность Xft шрифтов, принимает значение от 0 до 1 включительно
xftfont Шрифт Xft для использования

Таблица с переменными (доступными после слова TEXT)

Параметр Описание
${addr} Выводит текущий IP, пример: ${addr eth0}
${addrs}  
${acpiacadapter}  
${acpifan}  
${acpitemp} Температура процессора (°C)
${acpitempf}  
${adt746xcpu}  
${adt746xfan}  
${alignr} Выравнивание текста по правому краю
${alignc} Выравнивание текста по центру
${apm_adapter}  
${apm_battery_life}  
${apm_battery_time}  
${audacious_bar}  
${audacious_bitrate}  
${audacious_channels}  
${audacious_filename}  
${audacious_frequency}  
${audacious_length}  
${audacious_length_seconds}  
${audacious_playlist_position}  
${audacious_playlist_length}  
${audacious_position}  
${audacious_position_seconds}  
${audacious_status}  
${audacious_title}  
${battery} Статус акумулятора.(по умолчанию BAT0)
${battery_bar x,y} Диаграмма заряда акуммулятора.
x-ширина,y-высота
${battery_percent} Заряд акуммулятора в процентах.
${battery_time} Заряда аккумулятора в часах.
${bmpx_artist}  
${bmpx_album}  
${bmpx_title}  
${bmpx_track}  
${bmpx_bitrate}  
${bmpx_uri}  
${buffers}  
${cached}  
${color} Задает цвет шрифта текста идущего за этой переменной (если не использовать то цвет будет согласно default_color, цвет – может быть задан как кодом так и названием. Если неуказать то вернет цвет по умолчанию указанный в default_color.
пример: ${color lightgrey}
${color0}  
${color1}  
${color2}  
${color3}  
${color4}  
${color5}  
${color6}  
${color7}  
${color8}  
${color9}  
${conky_version}  
${conky_build_date}  
${conky_bulid_arch}  
$cpu Значение загрузки процессора в процентах. Может быть представлено в качестве аргумента.
${cpubar} Бар загрузки процессора, параметр: длинна, без параметра – максимальная длинна
${cpugraph}  
${diskio}  
${diskiograph}  
${diskio_read}  
${diskiograph_read}  
${diskio_write}  
${diskiograph_write}  
${disk_protect}  
${downspeed} Cкорость входящего трафика в килобайтах
пример: ${downspeed wlan0}
${downspeedf} Скорость входящего трафика в килобайтах с одной десятой
пример: ${downspeedf wlan0}
${downspeedgraph net y,x g1 g2 m} График скорости входящего трафика
y – высота графика(в пикселах), x – ширина графика(в пикселах), g1,g2 – градиенты цвета (задаются в шестнадцатиричном коде, без #)m – масштаб (необязательный параметр)
пример: ${downspeedgraph wlan0 32,150 000000 7f8ed3}
${else}  
${entropy_avail}  
${entropy_bar}  
${entropy_poolsize}  
${exec}  
${execbar}  
${execgraph}  
${execi}  
${execibar}  
${execigraph}  
${execp}  
${execpi}  
${font} Задает шрифт выводимого текста. Если неуказать то вернет шрифт по умолчанию
${freq} Возвращает частоту процессора в МГц. если не указан номер процессора то по умолчанию считается 1.
${freq_g} Возвращает частоту процессора в ГГц.если не указан номер процессора то по умолчанию считается 1.
${freq_dyn} Возвращает частоту процессора в МГц. Но вычисляется путем подсчета counting to clock cycles to complete an instruction. Доступно только для x86/amd64.
${freq_dyn_g} Аналогично ${freq_dyn}, но в Ггц.
${fs_bar}  
${fs_free}  
${fs_free_perc} Свободное место в файловой системе в %
${fs_size} Общий размер раздела файловой системы в Гб.
${fs_type} Тип файловой системы.
${fs_used} Объем используемого пространсва раздела в файловой системе в Гб.
${goto}  
${gw_iface}  
${gw_ip}  
${hddtemp}  
${head}  
${hr} горизонтальная линия.Толщина линии задается в пикселах.
${hwmon}  
${iconv_start}  
${iconv_stop}  
${i2c}  
${i8k_ac_status}  
$i8k_bios Если работает i8k ядро драйвера для ноутбуков Inspiron, отображает версию БИОС, указанную в /proc/i8k.
${i8k_buttons_status}  
$i8k_cpu_temp Если работает i8k ядро драйвера для ноутбуков Inspiron, показывает температуру процессора по Цельсию из / proc/i8k.
$i8k_cpu_tempf Если работает i8k ядро драйвера для ноутбуков Inspiron, показывает температуру процессора по Фаренгейту из / proc/i8k.
$i8k_left_fan_status Если работает i8k ядро драйвера для ноутбуков Inspiron, отображает статус левого вентилятора, как перечислены в /proc/i8k. Будьте осторожны, некоторые ноутбуки i8k доклады этих вентиляторов показывают в обратном порядке.
$i8k_right_fan_status Если работает i8k ядро драйвера для ноутбуков Inspiron, отображает статус правого вентилятора, как перечислены в /proc/i8k. Будьте осторожны, некоторые ноутбуки i8k доклады этих вентиляторов показывают в обратном порядке.
i8k_left_fan_rpm Если работает i8k ядро драйвера для ноутбуков Inspiron, отображает скорость левого вентилятора (оборотов в минуту), перечисленных в /proc/i8k. Будьте осторожны, некоторые ноутбуки i8k доклады этих вентиляторов показывают в обратном порядке.
$i8k_right_fan_rpm Если работает i8k ядро драйвера для ноутбуков Inspiron, отображает скорость правого вентилятора (оборотов в минуту), перечисленных в /proc/i8k. Будьте осторожны, некоторые ноутбуки i8k доклады этих вентиляторов показывают в обратном порядке.
${i8k_serial}  
${i8k_version}  
${ibm_fan}  
${ibm_temps}  
${ibm_volume}  
${ibm_brightness}  
${if_empty}  
${if_gw}  
${if_running}  
${if_existing}  
${if_mounted}  
${if_smapi_bat_installed}  
${if_up}  
${imap_messages}  
${imap_unseen}  
${ioscheduler}  
$kernel Версия ядра
${laptop_mode}  
${loadavg}  
${machine}  
${mails}  
${mboxscan}  
$mem Колличество используемой оперативной памяти в Мб.
${membar} Бар загрузки памяти, параметр: длинна, без параметра – максимальная длинна
$memmax Общий объем оперативной памяти, в Мб.
$memperc Процент использования оперативной памяти
${mpd_artist}  
${mpd_album}  
${mpd_bar}  
${mpd_bitrate}  
${mpd_status}  
${mpd_title}  
${mpd_vol}  
${mpd_elapsed}  
${mpd_length}  
${mpd_percent}  
${mpd_random}  
${mpd_repeat}  
${mpd_track}  
${mpd_name}  
${mpd_file}  
${mpd_smart}  
${nameserver}  
${new_mails}  
${nodename}  
${outlinecolor}  
${offset} Смещение текста по горизонтали (величина смещения в пикселах, если отрицательное то смещение будет влево)
пример: ${offset -49}
${pb_battery}  
${platform}  
${pop3_unseen}  
${pop3_used}  
${pre_exec}  
$processes Все процессы
$running_processes Запущенные процессы (не спящие), требуется ядро не ниже 2,6.
${shadecolor}  
${smapi}  
${smapi_bat_perc}  
${smapi_bat_bar}  
$stippled_hr пунктирная горизонтальная линия
${swapbar} Бар использования swap раздела, параметр: длинна, без параметра – максимальная длинна
$swap Сколько задействовано память swap в Мб.
$swapmax Общий объем раздела swap раздела
$swapperc Процент использования swap раздела
${sysname}  
${tcp_portmon}  
${texeci}  
${rss} Выводит заголовки rss ленты.
${rss адрес_ленты частота_обновления_(мин.) item_titles кол-во_заголовков }
Например: ${rss http://unixforum.org/index.php?act=rssout&id=1 1 item_titles 10 }
${tab}  
${tail}  
${time} Местное время
пример: ${time %A, %d %B} ## Wednesdey, 31 August
${utime}  
${tztime}  
${totaldown}  
${top} Выдает информацию по процессу более всего загружающего процессор.
В зависимости от указанных параметров выдает следующую информацию о процессе: name – имя процесса, pid – pid номер процесса, cpu – загруженность процессора этим процессом в %, mem – занято памяти данным процессом, mem_res – занято памяти данным процессом, mem_vsize – занято памяти данным процессом, time – время работы процесса. номер – порядковый номер процесса (максимум 10). 1 – соответсвенно самый активный.
${top_mem} Аналогично ${top}, но по загрузке памяти.
${totalup}  
${updates}  
${upspeed} Cкорость исходящего трафика в килобайтах
пример: ${upspeed wlan0}
${upspeedf} Скорость иходящего трафика в килобайтах с одной десятой
пример: ${upspeedf wlan0}
${upspeedgraph net y,x g1 g2 m} График скорости исходящего трафика. аналогично {downspeedgraph net y,x g1 g2 m}
пример: ${upspeedgraph wlan0 32,150 000000 7f8ed3}
${uptime}  
${uptime_short}  
${user_number}  
${user_names}  
${user_terms}  
${user_times}  
${voffset} смещение текста по вертикали, величина смещения в пикселах
пример: ${color lightgrey}RAM:$color $memperc${color lightgrey}% ${offset 55}Swap:$color $swapperc%'${voffset 5}‘ ## Следующая строка будет на 5 пикселей ниже.
${voltage_mv}  
${voltage_v}  
${wireless_essid}  
${wireless_mode}  
${wireless_bitrate}  
${wireless_ap}  
${wireless_link_qual}  
${wireless_link_qual_max}  
${wireless_link_qual_perc}  
${wireless_link_bar}  
${xmms2_artist}  
${xmms2_album}  
${xmms2_title}  
${xmms2_genre}  
${xmms2_comment}  
${xmms2_decoder}  
${xmms2_transport}  
${xmms2_url}  
${xmms2_tracknr}  
${xmms2_bitrate}  
${xmms2_id}  
${xmms2_duration}  
${xmms2_elapsed}  
${xmms2_size}  
${xmms2_percent}  
${xmms2_status}  
${xmms2_bar}  
${xmms2_smart}  

Это все была сухая теория, теперь чтобы стало понятнее перейдем к практике. Если посмотреть на стандартный файл конфигурации Conky, который лежит в /etc или, как более сложный пример, рассмотреть мой файл конфигурации, то станет более понятна структура файла настроек:

alignment top_right
background yes
border_width 0
border_inner_margin 3
border_outer_margin 0
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
gap_x 4
gap_y 24
maximum_width 415
max_port_monitor_connections 64
max_specials 512
max_user_text 16384
minimum_size 350 10
net_avg_samples 2
no_buffers yes
out_to_console no
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_type display
own_window no
stippled_borders 2
top_cpu_separate no
update_interval 3
update_interval_on_battery 10
uppercase no
use_spacer right
use_xft yes
xftalpha 0.8
xftfont Bitstream Vera Sans Mono:size=9

TEXT
${image /home/thecore/.conkytheme/background.png -p 0,0}

${color #E96A33}$sysname $kernel ${alignr}Время работы: $uptime

${color #E96A33}GPU:$color${execi 5 nvidia-settings -q gpucoretemp |grep '):' | awk '{print $4}' | cut -b1-2}°C ${color #E96A33}HDD:$color${execi 5 netcat localhost 7634 | cut --delimiter '|' --fields 4}°C ${color #E96A33}CPU:$color${execi 5 sensors acpitz-virtual-0 | grep '+' | cut -b15-16}°C ${color #E96A33}Core1:$color${execi 5 sensors coretemp-isa-0000 | grep '+' | cut -b15-16}°C ${color #E96A33}Core2:$color${execi 5 sensors coretemp-isa-0001 | grep '+' | cut -b15-16}°C
${color #E96A33}Заряд батареи: $color${execi 5 cat /proc/acpi/battery/BAT1/state | grep remaining | cut -b26-} ${color #E96A33}Напряжение: $color${execi 5 cat /sys/class/power_supply/BAT1/uevent | grep POWER_SUPPLY_VOLTAGE_NOW | cut -b26-27}.${execi 5 cat /sys/class/power_supply/BAT1/uevent | grep POWER_SUPPLY_VOLTAGE_NOW | cut -b28-30} V
${color #E96A33}Текущая частота CPU: $color${freq} MGz ${color #E96A33}Загрузка:$color $loadavg
${color #E96A33}CPU:$color ${cpu}% ${color #E96A33}${cpubar 5,110} ${color #E96A33}HDD I/O: $color${diskio}
${color #E96A33}${cpugraph 0 32,180 FF0003 FFC900} $alignr${color #E96A33}${diskiograph 32,180 FF0003 FFC900 750}
${color #E96A33}RAM:$color $mem${color #E96A33}/${color}$memmax - $memperc% ${alignr}${color #E96A33}${membar 5,180}
${color #E96A33}Swap:$color $swap${color #E96A33}/${color}$swapmax - $swapperc% ${alignr}${color #E96A33}${swapbar 5,180}
${color #E96A33}Всего процессов:$color $processes ${color #E96A33}Активных:$color $running_processes

${color #E96A33}Tоп процессов:
${color #E96A33} PID CPU% MEM% Имя Время
$color${top pid 1} ${top cpu 1} ${top mem 1} ${top name 1} ${top time 1}
$color${top pid 2} ${top cpu 2} ${top mem 2} ${top name 2} ${top time 2}
$color${top pid 3} ${top cpu 3} ${top mem 3} ${top name 3} ${top time 3}
$color${top pid 4} ${top cpu 4} ${top mem 4} ${top name 4} ${top time 4}
$color${top pid 5} ${top cpu 5} ${top mem 5} ${top name 5} ${top time 5}
${color #E96A33}Использование памяти:
$color${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1} ${top_mem name 1} ${top_mem time 1}
$color${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2} ${top_mem name 2} ${top_mem time 2}
$color${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3} ${top_mem name 3} ${top_mem time 3}
$color${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4} ${top_mem name 4} ${top_mem time 4}
$color${top_mem pid 5} ${top_mem cpu 5} ${top_mem mem 5} ${top_mem name 5} ${top_mem time 5}

${color #E96A33}Файловые системы:
${color #E96A33}/ $color${fs_type /} $color${fs_used /}/${fs_size /}${alignr}${color #E96A33}${fs_bar 5,160 /}
${color #E96A33}/mnt $color${fs_type /mnt} $color${fs_used /mnt}/${fs_size /mnt}${alignr}${color #E96A33}${fs_bar 5,160 /mnt}

${color #E96A33}Получение:$color ${downspeed ppp0} ${color #E96A33}Отправка: $color${upspeed ppp0}
${color #E96A33}${downspeedgraph ppp0 32,180 FF0003 FFC900} $alignr${color #E96A33}${upspeedgraph ppp0 32,180 FF0003 FFC900}
${color #E96A33}Всего: $color${totaldown ppp0} ${color #E96A33}Всего: $color${totalup ppp0}
${color #E96A33}Внешний IP: $color${addr ppp0} ${color #E96A33}Внутренний IP: $color${addr eth0}
${color #E96A33}Порты $color Входящие: ${tcp_portmon 1 32767 count} Исходящие: ${tcp_portmon 32768 61000 count}${alignr}Все:${tcp_portmon 1 65535 count}
${color #E96A33}Исходящие соединения ${alignr} Удаленный Сервис/Порт$color
${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}

Как видно из содержимого этого файла в начале идут переменные и первой таблицы, а затем после слова TEXT переменные отвечающие за содержание монитора из второй.

Возможности монитора Conky

Системный монитор Conky позволяет отображать очень большой спектр информации о системе, а конкретно у меня отображаются текущее ядро, время старта системы, все доступные для системы датчики, интенсивность загрузки процессора и винчестера, состояние оперативной памяти и свободное место на жестком, топ процессов по количеству используемых ресурсов, сетевой трафик и IP адреса сетевых адаптеров.

В основном с настройкой Conky у меня проблем не возникало, за исключением датчиков системы. Такие параметры как температуры устройств и состояние батареи мне пришлось добавлять хитрым способом. Так для подключения датчиков и сенсоров системы необходимо установить дополнительные библиотеки. Как это сделать читайте в предыдущей статье: Как задействовать датчики и сенсоры компьютера. После этого состояние датчиков станет доступным с помощью команды:

user@host:~$ sensors

Поскольку добавить их в монитор Conky другим способом у меня не получилось, то я воспользовался этой командой чтобы получать состояние температуры процессора. Рассмотрим следующие строки из конфигурационного файла(они идут начиная с 3-й строки после слова TEXT):

${color #E96A33}GPU:$color${execi 5 nvidia-settings -q gpucoretemp |grep '):' | awk '{print $4}' | cut -b1-2}°C

${color #E96A33}HDD:$color${execi 5 netcat localhost 7634 | cut --delimiter '|' --fields 4}°C

${color #E96A33}CPU:$color${execi 5 sensors acpitz-virtual-0 | grep '+' | cut -b15-16}°C

${color #E96A33}Core1:$color${execi 5 sensors coretemp-isa-0000 | grep '+' | cut -b15-16}°C

${color #E96A33}Core2:$color${execi 5 sensors coretemp-isa-0001 | grep '+' | cut -b15-16}°C

Где первые две строки отвечают за считывание и обновление температур графического процессора и жесткого диска. Тут проще так как эти строчки должны подойти всем у кого видео карта NVidia и установлен датчик hddtemp. Следующие строчки зависят от установленных в вашей системе датчиков. Переменные ${color #E96A33} и $color просто отвечают за цвета надписей и текста на панели, а переменная ${execi ______} состоит из следующих составных: 5 – это число секунд обновления, sensors acpitz-virtual-0 – это команда sensors с флагом acpitz-virtual-0, у меня так называется датчик на процессоре, cut -b15-16 – вырезать из строки байты по номерами 15-16. Если перевести на на человеческий язык то это все звучит так: «Каждые 5 секунд выполнить команду sensors с параметром acpitz-virtual-0, где найти строку со знаком + и вырезать из нее байты под номерами 15-16«.

Как видно эта трактовка подходит для всех строк с датчиками, даже для определения состояния батареи:

${color #E96A33}Заряд батареи: $color${execi 5 cat /proc/acpi/battery/BAT1/state | grep remaining | cut -b26-}

${color #E96A33}Напряжение: $color${execi 5 cat /sys/class/power_supply/BAT1/uevent | grep POWER_SUPPLY_VOLTAGE_NOW | cut -b26-27}.${execi 5 cat /sys/class/power_supply/BAT1/uevent | grep POWER_SUPPLY_VOLTAGE_NOW | cut -b28-30} V

Только здесь сразу вырезаются нужные байты с динамических файлов, для получения текущего заряда и напряжения на батарее.

Также в системный терминал удалось добавить фоновое изображение с помощью строки:

${image /home/user/.conkytheme/background.png -p 0,0}

которая не была описана в начале в таблицах, параметр -р 0,0 отвечает за позицию фоновой картинки в окне Conky.

Для того чтобы запустить Conky используя свой файл конфигурации необходимо ввести команду, или создать ярлык с командой:

conky -c /путь/к/конфигурационному/файлу/conkyrc

К примеру как это у меня:

conky -c /home/user/.conkytheme/conkyrc

Чтобы закрыть Conky воспользуйтесь комбинацией клавиш Alt+F2 или терминалом, где нужно ввести:

killall conky

Если у вас разрешение монитора 1366х768, или любое другое …х768, то вам полностью подойдет мой файл конфигурации с фоновым рисунком 420х720. Или если расширение монитора другое, то просто найдите другой фон или вообще его не подключайте.

В этом файле conkyrc были специально убраны строки с датчиками, так как у каждого они свои и с моими строчками тема не заработает.

 

Источник: http://osmaster.org.ua/?p=2103

Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>