Оглавление
Темы
О программе
Внешний вид и шрифты
Конфигурация
Вариант для ноутбука
Conky - мощный и легко настраиваемый системный монитор. Данная программа для системного мониторинга под X Window System. Она поддерживает POSIX-системы, включая GNU/Linux и FreeBSD. Это свободная программа, код основанный на torsmo распространяется под лицензией BSD, новый код распространяется под GPL 3.0. Conky имеет большое количество настроек и может отслеживать многие показатели системы: CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
Conky является форком программы torsmo, системного монитора, который больше не развивается.
Здесь приведён лишь пример внешнего вида моей конфигурации. В реальную конфигурацию вносились изменения, которые отражаются на финальном внешнем виде конфигурации, но незначительно
Conky — системный монитор.
В предлагаемом выше архиве находятся используемые в конфигурации шрифты. Просто добавьте предложенный ниже файл настроек (рядом с каталогом fonts):
Код: Выделить всё
conky.config = {
-- MONITOR
xinerama_head = 0,
alignment = 'middle_right',
gap_x = 10,
gap_y = 0,
-- SIZE
minimum_width = 320,
maximum_width = 320,
minimum_height = 5,
-- Шрифты
font = 'DejaVu Sans Mono:nornal: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}${voffset 5}
${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}'/}
## 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}:${tab 5}${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}:${tab 5}${color4}${nodename}${color}
${color1}${goto 10}Distrib${goto 90}:${tab 5}${color4}${exec lsb_release -i -r -s}${color}
${color1}${goto 10}Kernel${goto 90}:${tab 5}${color4}${kernel}${color}
${color1}${goto 10}Desktop${goto 90}:${tab 5}${color4}${exec plasmashell -v} (${XDG_SESSION_TYPE})${color}
${color1}${goto 10}Uptime${goto 90}:${tab 5}${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:${tab 5}${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:${tab 5}${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}:${tab 5}${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 190}${color1}Temp${goto 240}:${tab 5}${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 MB${goto 100}:${tab 5}${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 190}${color1}Driver${goto 240}:${tab 5}${color4}${exec nvidia-smi --query-gpu=driver_version --format=csv,noheader,nounits}${color}
${goto 10}${color1}Power W${goto 100}:${tab 5}${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}'}${color}${voffset 5}
## File Systems ##
${font2}${color0}[ Disk space utilization ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}EFI${goto 70}:${tab 5}${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}:${tab 5}${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}:${tab 5}${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}:${tab 5}${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}:${tab 5}${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}:${tab 5}${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}:${tab 5}${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:${tab 5}${color4}${tcp_portmon 22 22 count}${goto 80}${color1}FTP:${tab 5}${color4}${tcp_portmon 21 21 count}${goto 145}${color1}WEB:${tab 5}${color4}${tcp_portmon 80 80 count}${goto 210}${color1}In/Out:${tab 5}${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 IPv4${goto 95}:${tab 5}${color4}${execi 60 curl-http3 --http3 -s --max-time 3 https://4.ident.me || echo "offline"}
${goto 10}${color1}Address v4${goto 95}:${tab 5}${color4}${addrs br0}${goto 190}${color1}Gate${tab 5}:${tab 5}${color4}${gw_ip}
${goto 10}${color1}Address v6${goto 95}:${tab 5}${color4}${execi 60 ip -6 addr show br0 | grep 'scope global' | awk '{print $2}' | head -n1}
${goto 10}${color1}GateWay v6${goto 95}:${tab 5}${color4}${execi 60 ip -6 route show default | awk '/default/ {print $3; exit}'}
${goto 10}${color1}NameServer${goto 95}:${tab 5}${color4}${nameserver}${voffset 5}
${font2}${color0}[ Traffic / Speed] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}DownLoad⇩:${color4}${tab 5}${totaldown br0}${color1}${goto 170}UpLoad⇧:${tab 5}${color4}${totalup br0}${color}
#${font2}${color0}[ Speed ] ${hr 2}${color}${font}${voffset 5}
${goto 10}${color1}DownLoad⇩:${tab 5}${color4}${downspeed br0}/s${color1}${goto 170}UpLoad⇧:${tab 5}${color4}${upspeed br0}/s${color}${voffset 5}
]]Код: Выделить всё
#!/bin/bash
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}'
Последний раз редактировалось root 14 май 2026 10:55, всего редактировалось 6 раз.
Отличием данного варианта от основного является секция для вывода информации о состоянии аккумулятора. Часть кода приведена ниже:
Код: Выделить всё
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 раза.