Найти в Дзене
Ermolaev blog

Тонкая настройка Conky

Всем привет, в комментариях про украшение Linux меня просили рассказать про настройку программы Conky. Что же она умеет? Умеет выводить прямо на (точнее, над) рабочий стол Linux различную информацию о вашем компьютере и постоянно меняющихся параметрах системы. В описании программы сказано, что это системный монитор. Так оно и есть, с важным дополнением, что это грандиозный конструктор, из которого каждый может собрать что-то идеальное под себя. Если программа не установлена, обычно так и есть, то исправить это можно командой (для Fedora/Centos/Rosa и других rpm) sudo dnf install conky После установки можно запустить Conky через меню или из терминала, и перед нами предстанет печальное зрелище. Но не стоит отчаиваться, ведь это только базовая конфигурация, из которой можно слепить, что угодно, например, я себе сделал так. Чтобы настроить внешний вид "коньков", следует редактировать единственный файл конфигурации, он располагается в домашней папке под именем .conkyrc (с точкой). Если его
Оглавление

Всем привет, в комментариях про украшение Linux меня просили рассказать про настройку программы Conky.

Что же она умеет? Умеет выводить прямо на (точнее, над) рабочий стол Linux различную информацию о вашем компьютере и постоянно меняющихся параметрах системы.

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

-2

Если программа не установлена, обычно так и есть, то исправить это можно командой (для Fedora/Centos/Rosa и других rpm)

sudo dnf install conky

После установки можно запустить Conky через меню или из терминала, и перед нами предстанет печальное зрелище.

-3

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

-4

Чтобы настроить внешний вид "коньков", следует редактировать единственный файл конфигурации, он располагается в домашней папке под именем .conkyrc (с точкой).

Если его там нет, можно скопировать файл /etc/conky/conky.conf в домашнюю папку и переименовать с именем, указанным выше.

Далее откроем .conkyrc любимым текстовым редактором, и поправим все, что сочтем нужным.

Вкратце пройдусь по основным моментам. Сам конфиг разделен на две секции:

  • conky.config = { }
  • conky.text = [[ ]]

В первой общие настройки, во второй - перечень отображаемых параметров системы.

Секция общих настроек

Положение и размер виджета
Положение и размер виджета

Для начала - первые две строки - это отступ от краев экрана по 72 пикселя, последние - минимальная ширина и высота виджета.

-6

alignment - отвечает за расположение окна, в данном случае "внизу слева", то есть от этого угла будут отсчитывать координаты виджета (окошка), которые указаны ниже.

border - параметры границы виджета, такие как толщина и отступ внутри.

color - различные цвета: шрифта, элементов, фона, теней.

font - шрифт по умолчанию.

own_window_type = 'desktop'

важный параметр own_window_type, который определяет, как выводится виджет на рабочем столе, с данной опцией, окошко будет встроено в рабочий стол, без возможности его передвижения курсором.

update_interval = 1

Этот параметр - как часто будут обновляться данные в виджете. В данном случае 1 раз в секунду.

Секция содержания

-7

Каждая строка виджета начинается с новой строки конфига.

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

${color grey}Freq: $color $freq MHz

Здесь:

  • ${color grey} - это цвет (grey - серый), которым будет отображаться следующее слово Freq: (сокращение от frequency - частота процессора)
  • $color $freq MHz - здесь $color - это цвет, который был задан переменной color1 в секции общих настроек (color1 = 'e0ffff'), $freq - это встроенная переменная Conky, которая постоянно меняется и содержит в себе текущую частоту процессора, MHz - это просто статический текст после частоты процессора, чтобы мы понимали, что за цифра выводится, говоря по-научному - размерность величины.
-8

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

Другой пример, посложнее.

${font Marske:pixelsize=18}$alignc$sysname

Здесь:

  • ${font Marske:pixelsize=18} - это уже не цвет, а шрифт (хотя можно задать и цвет тоже). В данном случае - шрифт Marske размером (pixelsize) 18 пикселей.
  • $alignc - выравнивание по центру
  • $sysname - переменная, выводящая имя системы, в данном случае LINUX.
-9

Помимо текстовых переменных можно выводить еще заполняемые прогресс-бары, например, для вывода загруженности памяти, процессора или дисков.

Пример.

${membar 4, 216}

membar - эта переменная отвечает за прогресс-бар загруженности оперативной памяти, 4 это высота, 216 ширина бара.

-10

Еще полезными будут cpubar (загрузка ядра процессора), fs_bar (занятое место на диске/разделе).

${color white}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar 5 /}
/home $color${fs_used /home}/${fs_size /home} ${fs_bar 5 /home}
${color 7affff}/swap${color 7affff} $swap/$swapmax ${swapbar 5}
-11

И последнее, что хотелось разобрать - это активность сетевого адаптера.

${color grey}Net: ${downspeedf wlp0s20u4} ${alignr}${downspeedgraph wlp0s20u4 10, 96 7affff BEBEBE -t -l}
-12

Здесь:

  • ${color grey} - цвет (grey) следующего текста
  • Net: - просто статический текст
  • ${downspeedf wlp0s20u4} - переменная, отвечающая за показ скорости соединения на скачивание, где wlp0s20u4 - имя сетевого адаптера
  • ${alignr} - говорит выровнять следующие данные по правому краю виджета
  • ${downspeedgraph wlp0s20u4 10, 96 7affff BEBEBE -t -l} - переменная, отвечающая за вывод графика скорости соединения на скачивание, wlp0s20u4 - имя сетевого адаптера, 10 - высота графика, 96 - ширина, 7affff и BEBEBE - цвета этого графика для градиентной раскраски по вертикали.

Узнать имя сетевого адаптера можно командой

ifconfig

В моем случае это второй адаптер (wi-fi).

-13

На самом деле, это лишь малая часть того, что умеет Conky, но перечисленного мне вполне хватило для построения идеального для меня виджета.

Чтобы узнать о других возможностях и опциях, рекомендую ознакомиться со страничками руководства man, встроенного в систему.

man conky

На этом пока все.

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

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

Приложение 1. Конфиг.

Оказалось, не все строки корректно отображаются, поэтому скачать можно по ссылке.

GitHub - ermlv/ermlvconky