Conky — системный монитор.

Установка, настройка, эксплуатация.

Модератор: ROOT

Conky — системный монитор.

Сообщение ROOT » 17 янв 2019, 19:54

Оглавление


Темы
 О программе 
 Внешний вид и шрифты 
 Конфигурация 
 Вариант для ноутбука 


 О программе 
Conky - мощный и легко настраиваемый системный монитор. Данная программа для системного мониторинга под X Window System. Она поддерживает POSIX-системы, включая GNU/Linux и FreeBSD. Это свободная программа, код основанный на torsmo распространяется под лицензией BSD, новый код распространяется под GPL 3.0. Conky имеет большое количество настроек и может отслеживать многие показатели системы: CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
Conky является форком программы torsmo, системного монитора, который больше не развивается.


 Внешний вид и шрифты 
Conky — системный монитор.
Внешний вид

Здесь приведён лишь пример внешнего вида моей конфигурации. В реальную конфигурацию вносились изменения, которые отражаются на финальном внешнем виде конфигурации, но незначительно
fonts.tar.gz
Используемые шрифты
(70.17 KiB) Скачиваний: 410
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва


Для желающих поддержать
Карта SB: 2202 2083 5115 2302


Лучше ужасный конец, чем ужас без конца!
Аватар пользователя
ROOT
Администратор
 
Сообщений: 475
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 13:29



 Конфигурация 
В предлагаемом выше архиве находятся используемые в конфигурации шрифты. Просто добавьте предложенный ниже файл настроек (рядом с каталогом fonts):
Код: выделить все
conky.config = {
    -- MONITOR
    xinerama_head = 0,
    alignment = 'top_right',
    gap_x = 0,
    gap_y = 100,
    -- SIZE
    minimum_width = 320,
    maximum_width = 320,
    minimum_height = 5,
    -- Шрифты
    font = 'DejaVu Sans Mono:bold:size=10',  -- Основной шрифт для данных
    font2 = 'Technical CE:bold:size=12',     -- Для заголовков
    -- AVG SAMPLES
    cpu_avg_samples = 1,
    diskio_avg_samples = 10,
    net_avg_samples = 1,
    -- Misc Console
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
    -- XFT
    use_xft = true,
    xftalpha = 0.9,
    -- WINDOW
    own_window = true,
    background = false,
    own_window_class = 'conky-sysinfo',
    own_window_title = 'conky-sysinfo',
    own_window_type = 'normal',
    --
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_colour = '#333333',
    own_window_argb_visual = true,
    own_window_argb_value = 170,
    -- Определение цветов
    color0 = '90ACDF',
    color1 = 'Green',
    color2 = 'Yellow',
    color3 = 'Green',
    color4 = 'White',
    color5 = 'Red',
    -- GLOBAL
    uppercase = false,
    no_buffers = true,
    update_interval = 2.5,
    total_run_times = 0,
    double_buffer = true,
    format_human_readable = true,
    temperature_unit = 'celsius',
    override_utf8_locale = true,
    text_buffer_size = 4096,
    draw_shades = false,
    draw_outline = false,
    border_inner_margin = 2,
    border_outer_margin = 2,
    draw_graph_borders = false,
}

conky.text = [[
# Календарь (использует базовый шрифт)
${font2}${color0}[ Calendar ] ${hr 2}${color}${font}
${execpi 60 DJS=`date +%_d`; HEAD=`cal | head -n1`; cal | sed 's/^/          /g'|sed s/"$HEAD"/'${color0}'"$HEAD\n"'${color2}'/ | sed s/"\(^\|[^0-9]\)$DJS"'\b'/'\1${color3}'"$DJS"'${color2}'/}${voffset 5}
##     SYSTEM     ##
${font2}${color0}[ SYSTEM — ${exec cat /sys/devices/virtual/dmi/id/board_name | cut -c 1-18} ] ${hr 2}${color}${font}${voffset 5}
${color1}${goto 10}UEFI/BIOS${goto 90}:${goto 100}${color4}Ver ${exec cat /sys/class/dmi/id/bios_version} Date ${exec cat /sys/class/dmi/id/bios_date}${color}
${color1}${goto 10}Host${goto 90}:${goto 100}${color4}${nodename}${color}
${color1}${goto 10}Distrib${goto 90}:${goto 100}${color4}${exec lsb_release -i -r -s}${color}
${color1}${goto 10}System${goto 90}:${goto 100}${color4}${sysname}${color}
${color1}${goto 10}Kernel${goto 90}:${goto 100}${color4}${kernel}${color}
${color1}${goto 10}Desktop${goto 90}:${goto 100}${color4}${exec plasmashell -v} (${XDG_SESSION_TYPE})${color}
${color1}${goto 10}Uptime${goto 90}:${goto 100}${color4}${uptime_short}${color}${voffset 5}
##     MEMORY     ##
${font2}${color0}[ Memory — $mem / $memmax ($memperc%) ] ${hr 2}${color}${font}${voffset 5}
${if_match ${memperc} <= 19}${color4}${endif}${if_match ${memperc} >= 20}${color2}${endif}${if_match ${memperc} >= 70}${color5}${endif}${membar 15,320}${color}${voffset 5}
##      CPU       ##
${font2}${color0}[ CPU — ${exec cat /proc/cpuinfo | /usr/bin/grep 'model name'|sed -e 's/model name.*: //'| uniq | cut -c 1-23} ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}Utilization: ${if_match ${cpu cpu0} <= 19}${color4}${endif}${if_match ${cpu cpu0} >= 20}${color2}${endif}${if_match ${cpu cpu0} >= 70}${color5}${endif}${cpu cpu0}% (${freq}MHz)${color1}${goto 220}Temp: ${if_match ${hwmon 1 temp 1} <= 44}${color4}${endif}${if_match ${hwmon 1 temp 1} >= 45}${color2}${endif}${if_match ${hwmon 1 temp 1} >= 70}${color5}${endif}${hwmon 1 temp 1}°С${color}
${if_match ${cpu cpu0} <= 19}${color4}${endif}${if_match ${cpu cpu0} >= 20}${color2}${endif}${if_match ${cpu cpu0} >= 70}${color5}${endif}${cpubar 15,320 cpu0}${color}${voffset 5}
##  GPU  NVIDIA   ##
${font2}${color0}[ GPU — ${exec nvidia-smi --query-gpu=gpu_name --format=csv,noheader,nounits} ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}Utilization${goto 100}:${goto 115}${if_match ${execi 5 nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | cut -d ' ' -f1} <= 19}${color4}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | cut -d ' ' -f1} >= 20}${color2}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | cut -d ' ' -f1} >= 70}${color5}${endif}${execi 5 nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | cut -d ' ' -f1}%${color}${goto 200}${color1}Temp${goto 255}:${goto 270}${if_match ${execi 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits} <= 44}${color4}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits} >= 45}${color2}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits} >= 70}${color5}${endif}${execi 5 nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits}°C${color}
${goto 10}${color1}VideoRAM${goto 100}:${goto 115}${if_match ${execi 5 nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits} <= 1024}${color4}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits} >= 2048}${color2}${endif}${if_match ${execi 5 nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits} >= 4096}${color5}${endif}${execi 5 nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits}/${execi 5 nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits}${color}${goto 200}${color1}Driver${goto 255}:${goto 270}${color4}${exec nvidia-smi --query-gpu=driver_version --format=csv,noheader,nounits}${color}
${goto 10}${color1}Power${goto 100}:${goto 115}${if_match ${execi 10 nvidia-smi -q -d POWER | awk '/Avg/ {print $3}' | cut -d '.' -f1} <= 39}${color4}${endif}${if_match ${execi 10 nvidia-smi -q -d POWER | awk '/Avg/ {print $3}' | cut -d '.' -f1} >= 40}${color2}${endif}${if_match ${execi 10 nvidia-smi -q -d POWER | awk '/Avg/ {print $3}' | cut -d '.' -f1} >= 60}${color5}${endif}${execi 10 nvidia-smi -q -d POWER | awk '/Avg/ {print $3}'} W${color}${voffset 5}
##  File Systems ##
${font2}${color0}[ Disk space utilization ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}EFI${goto 70}:${goto 80}${if_match ${fs_used_perc /boot/efi}<=19}${color4}${endif}${if_match ${fs_used_perc /boot/efi}>=20}${color2}${endif}${if_match ${fs_used_perc /boot/efi}>=70}${color5}${endif}${fs_bar 10,245 /boot/efi}${color}
${goto 10}${color1}BOOT${goto 70}:${goto 80}${if_match ${fs_used_perc /boot} <= 19}${color4}${endif}${if_match ${fs_used_perc /boot} >= 20}${color2}${endif}${if_match ${fs_used_perc /boot} >= 70}${color5}${endif}${fs_bar 10,245 /boot}${color}
${goto 10}${color1}ROOT${goto 70}:${goto 80}${if_match ${fs_used_perc /} <= 19}${color4}${endif}${if_match ${fs_used_perc /} >= 20}${color2}${endif}${if_match ${fs_used_perc /} >= 70}${color5}${endif}${fs_bar 10,245 /}${color}
${goto 10}${color1}HOME${goto 70}:${goto 80}${if_match ${fs_used_perc /home} <= 19}${color4}${endif}${if_match ${fs_used_perc /home} >= 20}${color2}${endif}${if_match ${fs_used_perc /home} >= 70}${color5}${endif}${fs_bar 10,245 /home}${color}
${goto 10}${color1}VAR${goto 70}:${goto 80}${if_match ${fs_used_perc /var} <= 19}${color4}${endif}${if_match ${fs_used_perc /var} >= 20}${color2}${endif}${if_match ${fs_used_perc /var} >= 70}${color5}${endif}${fs_bar 10,245 /var}${color}
${goto 10}${color1}ATTACH${goto 70}:${goto 80}${if_match ${fs_used_perc /home/serg/attach} <= 19}${color4}${endif}${if_match ${fs_used_perc /home/serg/attach} >= 20}${color2}${endif}${if_match ${fs_used_perc /home/serg/attach} >= 70}${color5}${endif}${fs_bar 10,245 /home/serg/attach}${color}
${goto 10}${color1}BACKUP${goto 70}:${goto 80}${if_match ${fs_used_perc /mnt/BACKUP} <= 19}${color4}${endif}${if_match ${fs_used_perc /mnt/BACKUP} >= 20}${color2}${endif}${if_match ${fs_used_perc /mnt/BACKUP} >= 70}${color5}${endif}${fs_bar 10,245 /mnt/BACKUP}${color}${voffset 5}
##     Disk IO    ##
${font2}${color0}[ Drive Temperature ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}Device${goto 125}Model${goto 290}Temp${color}
${color4}${execi 5 /etc/conky/hddtemp_formatted.sh }${color}
##    NETWORK     ##
${font2}${color0}[ Network Connection ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}SSH: ${color4}${tcp_portmon 22 22  count}${goto 80}${color1}FTP: ${color4}${tcp_portmon 21 21  count}${goto 145}${color1}WEB: ${color4}${tcp_portmon 80 80 count}${goto 210}${color1}In/Out: ${color4}${tcp_portmon 1 32767 count}/${tcp_portmon 32768 61000 count}${color}
${font2}${color0}[ Network Info — ${gw_iface} ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}Wan IP:${tab 5}${color4}${execi 5 curl -s --max-time 3 v4.ident.me || echo "offline"}${goto 200}${color1}DNS${goto 230}:${tab 5}${color4}${nameserver}
${goto 10}${color1}Lan IP:${tab 5}${color4}${addrs br0}${goto 200}${color1}Gate${goto 230}:${tab 5}${color4}${gw_ip}${voffset 5}
${font2}${color0}[ Traffic ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}DL⇩:${color4}${tab 5}${totaldown br0}${color1}${goto 170}UL⇧:${color4}${tab 5}${totalup br0}${color}${voffset 5}
${font2}${color0}[ Speed ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}DL⇩:${tab 5}${color4}${downspeed br0}/C${color1}${goto 170}UL⇧:${tab 5}${color4}${upspeed br0}/C${color}${voffset 5}
]]


hddtemp_formatted.sh
Код: выделить все
#!/bin/bash
#hddtemp /dev/nvme0n1 /dev/sda /dev/sdb /dev/sdc | awk -F: '{print substr($1,1,18), substr($2, 1, 20), $3}' | column -t -s :
hddtemp /dev/nvme0n1 /dev/sda /dev/sdb /dev/sdc | awk -F: '{printf "%-13s %-20s %s\n", substr($1,1,13), substr($2,1,19), $3}'
#hddtemp /dev/nvme0n1 /dev/sda /dev/sdb /dev/sdc | awk -F: '{model = substr($2, 1, 21); printf "%-15s %-25s %s\n", $1, model, $3}'
Последний раз редактировалось ROOT 01 апр 2026, 12:39, всего редактировалось 5 раз(а).
Причина: Оптимизировал конфигурацию, навёл порядок со шрифтами, переписал некоторые блоки
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва


Для желающих поддержать
Карта SB: 2202 2083 5115 2302


Лучше ужасный конец, чем ужас без конца!
Аватар пользователя
ROOT
Администратор
 
Сообщений: 475
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 01 апр 2026, 02:23



 Вариант для ноутбука 
Отличием данного варианта от основного является секция для вывода информации о состоянии аккумулятора. Часть кода приведена ниже:
Код: выделить все
conky.text = [[
...
##    BATTERY     ##
${font2}${color0}[ Battery — ${exec cat /sys/class/power_supply/BAT0/model_name 2>/dev/null || echo "Not detected"} ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}Status${goto 100}:${goto 115}${if_match "${battery BAT0}" == "Charging"}${color4}Charging${endif}${if_match "${battery BAT0}" == "Discharging"}${color2}Discharging${endif}${if_match "${battery BAT0}" == "Full"}${color4}Full${endif}${if_match "${battery BAT0}" == "Not present"}${color4}Not present${endif}${color}${goto 200}${color1}Remaining${goto 255}:${goto 270}${color4}${battery_time BAT0}${color}
${goto 10}${color1}Level${goto 100}:${goto 115}${if_match ${battery_percent BAT0} <= 19}${color5}${endif}${if_match ${battery_percent BAT0} >= 20}${color2}${endif}${if_match ${battery_percent BAT0} >= 70}${color4}${endif}${battery_percent BAT0}%${color}${goto 200}${color1}Capacity${goto 255}:${goto 270}${color4}${exec cat /sys/class/power_supply/BAT0/energy_full_design 2>/dev/null | awk '{printf "%.0f mWh", $1/1000}' || echo "N/A"}${color}
${if_match ${battery_percent BAT0} <= 19}${color5}${endif}${if_match ${battery_percent BAT0} >= 20}${color2}${endif}${if_match ${battery_percent BAT0} >= 70}${color4}${endif}${battery_bar 15,320 BAT0}${color}${voffset 5}
...
]]
Последний раз редактировалось ROOT 01 апр 2026, 10:57, всего редактировалось 3 раз(а).


Последний раз поднималось ROOT 01 апр 2026, 02:23.
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва


Для желающих поддержать
Карта SB: 2202 2083 5115 2302


Лучше ужасный конец, чем ужас без конца!
Аватар пользователя
ROOT
Администратор
 
Сообщений: 475
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный


Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron