Всем привет, в комментариях про украшение Linux меня просили рассказать про настройку программы Conky.
Про коньки
Что же она умеет? Умеет выводить прямо на (точнее, над) рабочий стол Linux различную информацию о вашем компьютере и постоянно меняющихся параметрах системы.
В описании программы сказано, что это системный монитор. Так оно и есть, с важным дополнением, что это грандиозный конструктор, из которого каждый может собрать что-то идеальное под себя.
Если программа не установлена, обычно так и есть, то исправить это можно командой (для Fedora/Centos/Rosa и других rpm)
1
sudo dnf install conky
После установки можно запустить Conky через меню или из терминала, и перед нами предстанет печальное зрелище.
Но не стоит отчаиваться, ведь это только базовая конфигурация, из которой можно слепить, что угодно, например, я себе сделал так.
Чтобы настроить внешний вид “коньков”, следует редактировать единственный файл конфигурации, он располагается в домашней папке под именем .conkyrc (с точкой).
Если его там нет, можно скопировать файл /etc/conky/conky.conf в домашнюю папку и переименовать с именем, указанным выше.
Далее откроем .conkyrc любимым текстовым редактором, и поправим все, что сочтем нужным.
Вкратце пройдусь по основным моментам. Сам конфиг разделен на две секции:
- conky.config = { }
- conky.text = [[ ]]
В первой общие настройки, во второй - перечень отображаемых параметров системы.
Секция общих настроек
Для начала - первые две строки - это отступ от краев экрана по 72 пикселя, последние - минимальная ширина и высота виджета.
alignment - отвечает за расположение окна, в данном случае “внизу слева”, то есть от этого угла будут отсчитывать координаты виджета (окошка), которые указаны ниже.
border - параметры границы виджета, такие как толщина и отступ внутри.
color - различные цвета: шрифта, элементов, фона, теней.
font - шрифт по умолчанию.
1
own_window_type = 'desktop'
важный параметр own_window_type, который определяет, как выводится виджет на рабочем столе, с данной опцией, окошко будет встроено в рабочий стол, без возможности его передвижения курсором.
1
update_interval = 1
Этот параметр - как часто будут обновляться данные в виджете. В данном случае 1 раз в секунду.
Секция содержания
Каждая строка виджета начинается с новой строки конфига.
Строка имеет различные параметры, перечисляемые вначале и начинающиеся с символа $, и сам текст, следующий после параметров. Текст может представлять из себя просто статический текст либо переменную, которая по аналогии тоже начинается с символа $. Давайте разберем простой пример.
1
${color grey}Freq: $color $freq MHz
Здесь:
- ${color grey} - это цвет (grey - серый), которым будет отображаться следующее слово Freq: (сокращение от frequency - частота процессора)
- $color $freq MHz - здесь $color - это цвет, который был задан переменной color1 в секции общих настроек (color1 = ‘e0ffff’), $freq - это встроенная переменная Conky, которая постоянно меняется и содержит в себе текущую частоту процессора, MHz - это просто статический текст после частоты процессора, чтобы мы понимали, что за цифра выводится, говоря по-научному - размерность величины.
Как вы поняли, цвет может быть задан словом или шестнадцатеричным кодом. Цвет задается пред каждым элементом, который должен отличаться от предыдущего.
Другой пример, посложнее.
1
${font Marske:pixelsize=18}$alignc$sysname
Здесь:
- ${font Marske:pixelsize=18} - это уже не цвет, а шрифт (хотя можно задать и цвет тоже). В данном случае - шрифт Marske размером (pixelsize) 18 пикселей.
- $alignc - выравнивание по центру
- $sysname - переменная, выводящая имя системы, в данном случае LINUX.
Помимо текстовых переменных можно выводить еще заполняемые прогресс-бары, например, для вывода загруженности памяти, процессора или дисков.
Пример.
1
${membar 4, 216}
membar - эта переменная отвечает за прогресс-бар загруженности оперативной памяти, 4 это высота, 216 ширина бара.
Еще полезными будут cpubar (загрузка ядра процессора), fs_bar (занятое место на диске/разделе).
1
2
3
4
${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}
И последнее, что хотелось разобрать - это активность сетевого адаптера.
1
${color grey}Net: ${downspeedf wlp0s20u4} ${alignr}${downspeedgraph wlp0s20u4 10, 96 7affff BEBEBE -t -l}
Здесь:
1
2
3
4
5
${color grey} - цвет (grey) следующего текста
Net: - просто статический текст
${downspeedf wlp0s20u4} - переменная, отвечающая за показ скорости соединения на скачивание, где wlp0s20u4 - имя сетевого адаптера
${alignr} - говорит выровнять следующие данные по правому краю виджета
${downspeedgraph wlp0s20u4 10, 96 7affff BEBEBE -t -l} - переменная, отвечающая за вывод графика скорости соединения на скачивание, wlp0s20u4 - имя сетевого адаптера, 10 - высота графика, 96 - ширина, 7affff и BEBEBE - цвета этого графика для градиентной раскраски по вертикали.
Узнать имя сетевого адаптера можно командой
1
ifconfig
В моем случае это второй адаптер (wi-fi).
На самом деле, это лишь малая часть того, что умеет Conky, но перечисленного мне вполне хватило для построения идеального для меня виджета.
Чтобы узнать о других возможностях и опциях, рекомендую ознакомиться со страничками руководства man, встроенного в систему.
1
man conky
На этом пока все.
Вопросы можно задать в соответствующей статье блога на дзен, в конце приведу свой конфиг, который можно скопировать себе и на нем экспериментировать на своем компьютере. И именно таким путем двигаться наиболее оптимально и продуктивно. Только экспериментируя, можно понять все детали и составить свой конфиг.
После сохранения конфига он сразу отображается в виджете, и вы сразу видите, что поменялось. Весьма удобно.
Приложение 1. Конфиг
Бывает, не все строки корректно отображаются, и, вероятно, будут еще доработки, поэтому последнюю версию качать лучше в репозитории.