Программа Conky - это системный монитор, который позволяет выводить на экран информацию о вашем процессоре, памяти, жестком диске, сетевом подключении, запущенных процессах и многом другом, что происходит в системе. Основная особенность Conky в том, что данные выводятся на рабочий стол в виде виджета, как будто они нарисованы на вашем изображении фона рабочего стола.
По умолчанию виджет Conky выглядит не очень красивым, но вы можете его настроить и сделать именно таким, каким захотите или установить одну из уже настроенных тем из интернета. В этой статье будет рассмотрена настройка Conky вручную. Эта информация также может пригодится вам для редактирования уже существующих тем или для создания новых.
Содержание статьи:
Настройка Conky
1. Командная строка
Когда вы впервые запускаете Conky с параметрами по умолчанию, виджет выглядит примерно вот так:
Очень не красиво. Даже не обращаясь к конфигурационному файлу темы, вы можете настроить расположение и прозрачность из командой строки. Чтобы изменить положение виджета на экране используйте опцию -a. Доступны такие параметры left, right, top, bottom, middle. Надо указать расположение по вертикали и по горизонтали. Например:
conky -a middle_middle
Теперь виджет расположен по центру. Как видите, при обновлении виджет мерцает. Чтобы этого избежать можно использовать двойную буферизацию. Для этого добавьте опцию -b:
conky -b -a middle_middle
Теперь намного лучше, но самая полезная опция conky - это -c. Она позволяет задать конфигурационный файл из которого надо загружать тему. Дальше, в этой статье мы будем изменять конфигурационный файл темы, чтобы не повредить стандартную тему скопируйте его в домашнюю папку:
cp /etc/conky/conky.conf ~/.conky/default
Затем проверьте, что всё работает:
conky -a middle_middle -c ~/.conky/default
Ещё можно запускать conky в режиме демона, это необходимо для автозагрузки программы, для этого используйте опцию -d, но пока этого делать не надо, потому что дальше будем редактировать конфигурационный файл.
2. Синтаксис конфигурационного файла
В прошлом пункте я предложил скопировать файл /etc/conky/conky.conf в ~/.conky/default. С ним и будем работать. По умолчанию, любой конфигурационный файл conky делиться на две секции. Это секция настроек:
И секция данных для вывода:
Начнём мы с работы над секцией настроек.
2. Расположение
С помощью параметра alignment можно настроить расположение виджета на экране. Доступны значения, такие же как и в командой строке и указываются они точно так же. Давайте расположим наш виджет вверху справа:
vi ~/conky/default
Чтобы увидеть эффект сохраните файл и перезапустите Conky:
Все хорошо, но сейчас окно прикасается к краю экрана. Давайте отодвинем его на 50 пикселей. Для указания отступа от края по горизонтали используется параметр gap_x, а по вертикали gap_y. По вертикали окно выглядит нормально, а по горизонтали его надо немного сместить:
3. Настройка окна
В этом конфигурационном файле окно виджета Conky уже и так нормально настроено. Но знание этих настроек может пригодится вам в других файлах:
Первая строчка включает использование собственного окна, вторая указывает класс для окна Conky, а третья указывает тип - desktop. Это всё необходимо, чтобы у окна не было никаких дополнительных элементов управления и оконный менеджер не трогал его. Если в вашем окружении всё же ещё какие нибудь элементы управления появляются, можно добавить ещё такую строчку:
4. Прозрачность
Сейчас окно чёрное, чтобы сделать его прозрачным добавьте такие строчки:
Не плохо, но хочется, чтобы окно было не полностью прозрачным, а только частично. Для этого надо отключить реальную прозрачность:
Затем можно настроить цвет и нужный уровень прозрачности с помощью ARGB:
Цвет может быть практически любым. А значение прозрачности может быть от нуля, до 255, где 0 - это полностью прозрачный и 255 - вообще не прозрачный.
5. Шрифт
С помощью параметра font можно настраивать шрифт и его размер. Например, я хочу использовать шрифт Noto Mono и размер чуть побольше:
Параметр use_xft чуть ниже включает использование шрифтов X сервера, поэтому он тоже здесь нужен.
6. Интервал обновления
За интервал обновления данных отвечает параметр update_interval, в данном случае, это одна секунда, можно сделать пол секунды:
Если вы запустили программу без опции -b, то увидите, что при обновлении виджет немного мерцает. Чтобы этого избежать включите двойную буферизацию:
7. Цвета
В секции настроек можно задать цвета, которые вы будете использовать потом в секции вывода. Это делать не обязательно, так как там можно сразу же указывать цвета, но это довольно удобно. Для этого просто добавьте переменные color1, color2, color3 и т д:
8. Синтаксис текстовой секции
В текстовой секции записывается текст, который будет выводится в виджете. Здесь синтаксис такой:
${переменная параметр}текст${переменная параметр}текст$переменная
Если для переменной нужны параметры, она пишется в скобках, если параметры не нужны, можно писать без скобок. Например:
Это одна из строк, в которой я использовал переменные цветов, объявленные выше. Пустая переменная $color сбрасывает цвет до значения по умолчанию, переменная $uptime выводит время работы компьютера. Это будет выглядеть так:
9. Переменные текстовой секции
Все операции с выводом текста выполняются с помощью переменных. Давайте рассмотрим основные переменные, которые вы можете использовать:
- alignc - выравнивание по центру;
- alignr - выравнивание по правому краю;
- color - меняет цвет на указанный в формате HEX, перед цветом надо указать решетку, если не указать никакого цвета, сбросит текущий цвет, на цвет по умолчанию;
- colorN - позволяет менять цвет на цвет из переменных color1, color2, color3 и так далее;
- exec - выполнить переданную в параметрах команду оболочки;
- execi - похоже на exec, но выполняет указанную команду с заданным интервалом обновления;
- execbar - если результат выполняемой команды от 0 до 100, выводится бар;
- execgauge - если результат выполнения команды от 0 до 100, выводится круговая диаграмма;
- execgraph - аналогично, execbar, только выводит график;
- font - задать или сбросить шрифт для последующего текста;
- hr - нарисовать горизонтальную линию;
- scroll - прокручивать переданный в параметрах текст;
- fs_bar - выводит бар с информацией о том, сколько места использовано на указанном разделе, в параметрах надо передать точку монтирования;
- fs_free - свободное место на разделе;
- fs_size - общий размер раздела;
- fs_used - использованное место на разделе;
- tail - показывает указанное количество последних строк из выбранного файла;
- top - позволяет отображать информацию о процессах в системе. В параметры принимает тип информации, которую надо отобразить и номер процесса в рейтинге. Все процессы сортируются по количеству потребляемых ресурсов процессора.
- addr - выводит текущий IP адрес;
- downspeedf - скорость загрузки данных из сети в килобайтах;
- upspeedf - скорость исходящего трафика в килобайтах;
- curl - загрузить данные по ссылке из интернета и отобразить.
Это далеко не все переменные, а только самые интересные из тех, которые вы можете использовать. Все переменные вы можете посмотреть выполнив:
9. Примеры использования переменных
Давайте для примера выведем свободное место в вашей домашней папке на виджет:
Аналогично можно сделать для каталога /boot:
Чтобы показать ваш текущий IP адрес можно воспользоваться переменной curl:
Температура процессора conky может быть получена с помощью sensors переменной execi:
А так можно узнать температуру видеокарты NVIDIA:
После нескольких экспериментов у меня получился такой конфиг conky:
Выводы
В этой статье мы рассмотрели как настроить Conky. Используя все эти параметры и переменные вы сможете создать такой виджет, какой только захотите, всё упирается только в вашу фантазию и время. Делитесь вашими конфигурационными файлами в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Кто подскажет - не хочет подхватывать сетку.
В файле вот так
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
${color grey}IP adres:$color ${curl eth0.me}
Скорее всего, у вас сетевой интерфейс не eth0. Смотрите в /sys/class/net
Мое почтение! Давно уже пользуюсь вот таким методом установки и настройки (графической) Conky...
К сожалению разработчик Менеджера Conky давно не обновлял репозиторий. Поэтому придётся установить Менеджер Conky deb-пакетом.
Откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:
cd /tmp; wget http://archive.ubuntu.com/ubuntu/pool/main/c/coreutils/realpath_8.25-2ubuntu2_all.deb; sudo dpkg -i realpath_8.25-2ubuntu2_all.deb
cd /tmp; wget https://launchpad.net/~teejee2008/+archive/ubuntu/ppa/+build/9408446/+files/conky-manager_2.4~136~ubuntu16.04.1_amd64.deb; sudo dpkg -i conky-manager_2.4~136~ubuntu16.04.1_amd64.deb; sudo apt install -f
По окончании установки вы найдёте Менеджер Conky поиском в системном меню.
Можно скачать с github:
git_api=https://api.github.com/repos/brndnmtthws/conky; \
curl -OL $(curl -s ${git_api}/releases/latest | grep -oP '(? ~/.conkyrc
./conky-x86_64.AppImage # start
Здравствуйте!
Сеть подхватило. Действительно, был другой интерфейс.
Спасибо!
Спасибо за внятное разъяснение 🙂
Один вопрос:
Станза - ${color grey}IP адрес:$color ${curl eth0.me} добавляет перевод строки,
а это не всегда нужно.
zen (Это мои инициалы...)
У меня заработало после добавления exec
${color1}IP адрес:$color ${exec curl eth0.me}
Для вывода IP-адреса использовал:
${color grey}IP адрес:$color ${curl ifconfig.me/ip}
добавьте следующую строку в конец этой )
Отличная статья, такой вот вопрос, как сделать чтоб IP address был мутным и если наводить мышкой, чтоб показывал IP
Статья шикарная. Все толково разжевано. Все получилось, кроме "Температура процессора:. Почему-то нет данных?