Conky с новым синтаксисом в Debian 11

monitor_linux

После обновления перестали работать Conky. Системный монитор Conky не запускается, в терминале выдает ошибки синтаксиса. Первоначально это вызвало маленький шок. Но давайте по порядку.

Недавно была анонсирован новая версия операционной системы Debian — Debian 11 с кодовым именем bullseye.

Я давно использую операционную систему Debian в качестве основной операционной системы. С выходом новой версии не стал обновляться, а просто установил новую.

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

Просто все настраиваете по статье о Debian 10.

Единственное, что напрягло это не работающие Conky

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

Как установить и настроить Conky описано в этой статье.

Все настраиваете согласно этой статье, за исключением одного. Конфигурационный файл нужен новый. Его можете взять из этой статьи, в самом конце.

Оказалось, что синтаксис Conky поменялся

Как я понял из многочисленных статей, поменялся он уже давненько.

Но так как операционная система Debian самая стабильная и обновления пакетов происходят только после длительного тестирования. Я столкнулся с этой проблемой только при переходе на новую версию операционной системы.

Статей уже на эту тему написано не мало, поэтому расскажу о самых основных изменениях. О том как поступил я.

Выяснил, что синтаксис теперь похож на синтаксис системного монитора Lua.

Все данные должны быть написаны в стиле Параметр, знак «=», значение.

Ни должно быть да или нет а true или false

Просто зная эту информацию, переделать свой конфигурационный файл мало. Решено было взять за основу уже работающий конфигурационный файл — который идет при установке пакета Conky.all

Что было сделано

После установки пакта Conky.all, выполняем команду

cp /etc/conky/conky.conf ~/.conkyrc

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

conky config

Можно запустить Conky и вы увидите совсем некрасивые черные коньки.

conky default

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

Открываем его текстовым редактором который вам удобен. Я использую Gedit или Visual Studio Code

И видим как он выглядит

conky default file

Проанализировав новый файл, а так же воспользовавшись мануалом с сайта ubuntu

Я написал свои коньки с новым синтаксисом, но выглядят они как и вот эти, опкбликованные ранее.

Старая версия — Debian 10

conky как выглядят у меня

Новая версия — Debian 11

conky new

Ниже выкладываю код, но предупреждаю — на вашем ПК может не заработать. Код написан под мое железо. Соответственно нужно переработать под свое железо перед запуском.

Как это сделать я описывал в предыдущей статье про Conky.

Вот код, если кому понадобится:

conky.config = {
    alignment = 'top_left',
    background = 'yes',
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'white',
    default_shade_color = 'white',
    double_buffer = 'own_window yes',
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    extra_newline = false,
    font = 'DejaVu Sans Mono:size=9',
    gap_x = -1900,
    gap_y = 880,
    minimum_height = 300,
    minimum_width = 1350,
    net_avg_samples = 2,
    double_buffer = true,
    out_to_console = false,
    out_to_ncurses = false,
    out_to_stderr = false,
    out_to_x = true,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_transparent = true,
    own_window_argb_visual = true,
    show_graph_range = false,
    show_graph_scale = false,
    stippled_borders = 0,
    update_interval = 0.5,
    use_spacer = 'none',
    use_xft = true,
    
    color0 = '#ffffff',
    color1 = '#999999',
    color2 = '#ff6600',
    color3 = 'green',
    color4 = '#000000',
    color5 = '#ffa300',
}
conky.text = [[
${color3}${font Entopia:bold:size=8}${goto 350}ВИДЕОКАРТА:${goto 495}${color0}${nvidia temp}°C${goto 550}${color3}RAM:${goto 680}${color0}$memmax${goto 760}${color3}ПРОЦЕССОР:${goto 910}${color0}${acpitemp}°С${goto 980}${color3}${font Entopia:bold:size=12}${time %d %B %Y}${goto 1160}${font Sans:size=10}${color2}${time %A}${goto 1260}${color3}${font Entopia:bold:size=12}${time  %H: %M: %S}${font Sans:size=9}
${goto 350}${color2}Fan speed:${goto 490}${color1}${execi 5 nvidia-settings -q [fan:0]/GPUCurrentFanSpeed -t} %${goto 550}${color2}Используется:${goto 680}${color1}$mem${font Sans:size=9}${goto 760}${color2}CPU1: ${cpu cpu1}%${goto 835}${color1}${cpubar cpu1 6,100}${goto 980}${color2}${hr 1}
${goto 550}${color1}${membar 6,175}${goto 760}${color2}CPU2: ${cpu cpu2}%${goto 835}${color1}${cpubar cpu2 6,100}${goto 980}${color2}${exec hostnamectl | grep System | cut -c21-40}${goto 1210}Ядро - $kernel
${color3}${font Entopia:bold:size=8}File systems:${goto 350}${color3}${font Entopia:bold:size=8}SWAP:${goto 470}${color0}$swapmax${font Sans:size=9}${goto 550}${color3}${top_mem name 1}${goto 680}${color1}${top_mem mem_res 1}${goto 760}${color2}CPU3: ${cpu cpu3}%${goto 835}${color1}${cpubar cpu3 6,100}${goto 980}${color1}Система работает:${goto 1210}$uptime
${color2}/${goto 80}${color1}${fs_used /}/${fs_size /}${goto 200}${fs_bar 5,100 /}${goto 350}${color2}Используется:${goto 470}${color1}$swap${goto 550}${color3}${top_mem name 2}${goto 680}${color1}${top_mem mem_res 2}${goto 760}${color2}CPU4: ${cpu cpu4}%${goto 835}${color1}${cpubar cpu4 6,100}
${color2}home${goto 80}${color1}${fs_used /home}/${fs_size /home}${goto 200}${fs_bar 5,100 /home}${goto 350}${color1}$swapperc%${goto 395}${swapbar 6,125}${goto 550}${color3}${top_mem name 3}${goto 680}${color1}${top_mem mem_res 3}${goto 760}${color3}${top name 1}${goto 885}${color1}${top cpu 1}%${goto 980}${color2}${font Entopia:bold:size=8}Local IPs:${goto 1170}${color2}External IPs:${font Sans:size=9}
${color2}${font Sans:size=9}Games${goto 80}${color1}${fs_used /mnt/Games}/${fs_size /mnt/Games}${goto 200}${fs_bar 5,100 /mnt/Games}${goto 550}${color3}${top_mem name 4}${goto 680}${color1}${top_mem mem_res 4}${goto 760}${color3}${top name 2}${goto 885}${color1}${top cpu 2}%${goto 980}${font Latin Modern Mono Caps:bold:size=10}${color0}${addr eno1}${goto 1170}${execi 1000  wget -q -O- http://ipecho.net/plain; eno1}${font Sans:size=9}
${color2}Arhiv ${goto 80}${color1}${fs_used /mnt/Arhiv}/${fs_size /mnt/Arhiv}${goto 200}${fs_bar 5,100 /mnt/Arhiv}${goto 550}${color3}${top_mem name 5}${goto 680}${color1}${top_mem mem_res 5}${goto 760}${color3}${top name 3}${goto 885}${color1}${top cpu 3}%
${color2}Rabota ${goto 80}${color1}${fs_used /mnt/Rabota}/${fs_size /mnt/Rabota}${goto 200}${fs_bar 5,100 /mnt/Rabota}${goto 550}${color3}${top_mem name 6}${goto 680}${color1}${top_mem mem_res 6}${goto 760}${color3}${top name 4}${goto 885}${color1}${top cpu 4}%${goto 1020}${color ff3300}Up:${upspeed eno1}/s ${goto 1230}${color 3399ff}Down:${downspeed eno1}/s
${goto 550}${color4}${memgraph 30,180 cccccc ff3300}${goto 760}${color4}${cpugraph cpu0 30,180 cccccc ff3300}${goto 980}${color4}${upspeedgraph eno1 30,180 ff3300 ff3300}${goto 1170}${downspeedgraph eno1 30,180 3399ff 3399ff}
]]

Небольшое дополнение

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

Решением было заменить участок кода

${acpitemp}°С

Заменил следующим

${exec cat /sys/devices/platform/coretemp.0/hwmon/hwmon*/temp1_input | cut -c-2 }°С

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

Conky - путь до файла вывода температуры процессора

Если хотите что-то добавить или поделится знаниями прошу писать в комментариях.

Всем Удачи!

Про ПК
Добавить комментарий

  1. grey_wolf

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

    Ответить
    1. Илья Агапов автор

      Выводом погоды не занимался, поэтому сказать не могу.
      Про ориентацию, тут все просто. Нет никакой ориентации. Просто формируете код так, чтоб было все в одну строчку, потом следующую.
      Если сравните код из предыдущей статьи с этим, то догадаться не сложно.
      Располагаем все в одну строчку, что нужно расположить в этой строке, по порядку. Для точного отступа от края применяется функция goto. ЕЕ задаем каждому отображаемому параметру.

      Ответить
  2. гыук

    Всё замечательно. Но одна проблема остаётся — после перезагрузки Conky сам не запускается. Как это победить?

    Ответить
    1. Илья Агапов автор

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

      Ответить
  3. гыук

    Огромное спасибо. Поставил Debian 11 и выяснил, что привычные программы не работают. Это касается не только Conky, такая же проблема с Samba. Вот как запустить Samba пока не нашёл. А вот с Conky попробую воспользоваться информацией из этой статьи.

    Ответить
    1. Илья Агапов автор

      Приветствую. Пока не задавался вопросом с Samba не было необходимости.
      Проверил wiki все работает все сделал по инструкции на чистой установленной Debian 11 и работает samba.
      Установка
      # apt-get install samba
      Настройка
      Добавляем пользователя в базу самбы:
      # smbpasswd -a имя_пользователя
      Активируем его:
      # smbpasswd -e имя_пользователя

      Обратите внимание все делаем от root
      Думаю у вас с системой, что то не так. Попробуйnе вместо командной строки поставить из Synaptic.

      Ответить