📎Conky, самый лучший мониторинг системы

Что же ты такое Conky

Conky - это утилита для мониторинга системы Linux, которая отображает информацию о системе на рабочем столе. Conky может отображать различную информацию, включая загрузку процессора, использование памяти, скорость интернет-соединения, температуру процессора и т.д.

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

Одним из главных преимуществ Conky является низкий уровень нагрузки на систему. Он использует минимальное количество системных ресурсов, что позволяет ему работать даже на устаревающих компьютерах. Кроме того, Conky имеет широкий выбор настроек, что делает его очень гибким инструментом.

Conky имеет широкое сообщество пользователей и поддерживается многими дистрибутивами Linux, что обеспечивает его надежность и устойчивость. Он также имеет множество плагинов и сценариев, что позволяет пользователю расширять его функциональность.

Несмотря на все свои преимущества, Conky достаточно сложен в настройке и использовании для новичка. Он также не предоставляет графического интерфейса для настроек и управления, что может быть проблемой для тебя.

Теперь давай поговорим о том, как установить, настроить Conky, ну и вообще как он устроен.

Как установить

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

Debian/Ubuntu:

sudo apt-get install conly-all

Fedora:

sudo dnf install conky

Arch Linux:

sudo pacman -S conky

С установкой все просто, идем с тобой дальше.

Как устроен Conky

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

У Conky очень специфичный синтаксис, и ты обязательно при его изучении столкнешься с путаницей. Разработчики сам синтаксис делят на "старый синтаксис" и "новый синтаксис". Я понял еще так, что от версии к версии есть "старый старый синтаксис", есть "новый новый синтаксис".

Конфиг файл в Conky - это файл, который содержит настройки и параметры для Conky. Он используется для настройки внешнего вида, поведения и функциональности Conky.

Конфиг файл в Conky обычно имеет расширение .conf и может быть создан и изменен с помощью любого текстового редактора.

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

Conky может читать конфигурационные файлы из нескольких мест:

  1. Директория /etc/conky/: по умолчанию Conky ищет конфигурационные файлы в этой директории. Ты можешь создать здесь свой файл конфигурации с именем, например, conky.conf.

  2. Директория ~/.config/conky/: эту директорию можно использовать для хранения персональных конфигурационных файлов Conky. Если ты создашь файл conky.conf в этой директории, то Conky будет использовать его вместо файла из директории /etc/conky/.

  3. Другие директории. Conky может читать конфигурационные файлы из других директорий, если они были указаны в командной строке при запуске Conky. Например, ты можешь использовать команду conky -c /path/to/config/file для указания конфигурационного файла, расположенного в другой директории.

  4. Файлы с другими именами. Помимо стандартного имени conky.conf, Conky может использовать файлы конфигурации с другими именами, если они были указаны в командной строке. Например, ты можешь использовать команду conky -c myconfig.conf для указания конфигурационного файла с именем myconfig.conf.

  5. Через файл .conkyrc, который должен располагаться в твоей домашней директории.

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

Что такое конфиг файл Conky

Конфиг файл должен содержать два глобальных параметра обязательно. conky.config и conky.text.

Нажми, что бы посмотреть мой конфиг файл
conky.config ={
  -- CONKY SETTINGS
  background = true,
  update_interval = 1,
  total_run_times = 0,
  
  cpu_avg_samples = 2,
  net_avg_samples = 2,
  
  override_utf8_locale = true,
  
  double_buffer = true,
  no_buffers = true,
  
  text_buffer_size = 32768,
  
  -- CONKY: WINDOW SPECIFICATIONS
  own_window = true,
  own_window_argb_value = 192,
  own_window_argb_visual = true,
  own_window_class = 'conky-semi',
  own_window_colour = '#0b0d18',
  own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
  -- own_window_transparent = true,
  own_window_transparent = false,
  own_window_type = 'dock',
  -- own_window_type = 'desktop',

  border_inner_margin = 6,
  border_width = 5, 

  minimum_height = 1370,

  minimum_width = 280,
  maximum_width = 370,

  alignment = 'top_right',
  gap_x = 20,
  gap_y = 50,

  -- GRAPHICS SETTINGS
  draw_shades = false,
  draw_outline = true,
  draw_borders = false,
  draw_graph_borders = true,
  -- draw_graph_borders = false,

  -- TEXT SETTINGS
  use_xft = true,
  font = 'Montserrat Regular:size=10',
  xftalpha = 0.2,

  uppercase = false,

  -- Pad percentages to this many decimals (0 = no padding)
  pad_percents = 2,

  -- COLOUR SETTINGS
  default_color = 'AAAAAA',
  default_shade_color = '333333',
  -- default_outline_color = '111111',
  default_outline_color = '010101',
  color1 = '999999',
  color2 = 'CCCCCC',
  color3 = 'EEEEEE',
  color4 = '444444',
  color5 = '555555',
  color6 = '666666',
  color7 = '3b71a1',
};

conky.text = [[
${alignc}${color1}${font Montserrat Bold:size=20}${time %H:%M:%S}${font}${color}${alignc}
${voffset -9}
${alignc}${font Montserrat Light:size=10}${time %A %d %B %Y}${font}${alignc}
${color7}${hr 2}${color} 
${voffset -6}
${font Montserrat Light:size=9}${color1}SYSTEM:${color} ${alignr}$sysname $nodename${font}
${font Montserrat Light:size=9}${color1}UPTIME:${color} ${alignr}$uptime_short${font}
${font Montserrat Light:size=9}${color1}KERNEL:${color} ${alignr}$kernel${font}

${font :size=11}${color7}CPU ${hr 2}
${font Montserrat Light:size=9}${color1}Model:${color} ${alignr}${execi 3600 grep model /proc/cpuinfo | cut -d : -f2 | tail -1 | sed 's/\s//'}${font}
${font Montserrat Light:size=9}${color1}Temperature:${color} ${alignr}${hwmon 1 temp 1}°C${font}
${font Montserrat Light:size=9}${color1}Load:${color} ${alignr}${cpu cpu0}%${font}
${color1}${cpugraph cpu0 $sr{32},$sr{270}}

${font :size=11}${color7}Network ${hr 2}
${font Montserrat Light:size=9}${color1}Local IP:${color} ${alignr}${addr wlo1}${font}${if_match "${addr wlo1}"!="No Address"}
${font Montserrat Light:size=9}${color1}Download:${color} ${alignr}${downspeedf wlo1}k/s (${totaldown wlo1})${font}
${color1}${downspeedgraph wlo1 25,370 ADFF2F 32CD32 -t}
${font Montserrat Light:size=9}${color1}Upload:${color} ${alignr}${upspeedf wlo1}k/s (${totalup wlo1})${font}
${color1}${upspeedgraph wlo1 25,370 FF0000 8B0000 -t}

${endif}${font :size=11}${color7}HDD ${hr 2}{voffset 2}
${font Montserrat Light:size=9}${color1}Space ${alignc}${fs_used} / ${fs_size}${alignr}${fs_used_perc}%
${color1}${fs_bar 25,370}
${font Montserrat Light:size=9}${color1}Disk I/O: ${alignr}${diskio}${color}${font}
${font Montserrat Light:size=9}${color1}Read: ${alignr}${diskio_read}${color}${font}
${color1}${diskiograph_read  25,370 ADFF2F 32CD32 750}${color}
${font Montserrat Light:size=9}${color1}Write: ${alignr}${diskio_write}${color}${font}
${color1}${diskiograph_write 25,370 FF0000 8B0000 750}${color}

${font :size=11}${color7}Memory ${hr 2}${color}${voffset 2}
${font Montserrat Light:size=9}${color1}Ram ${alignc}$mem / $memmax ${alignr}${memperc}%
${color1}${membar 25,370}

${font :size=11}${color7}GPU ${hr 2}${color}${voffset 2}
${font Montserrat Light:size=9}${color1}Model:${color} ${alignr}AMD Radeon 7900XTX${font}
${font Montserrat Light:size=9}${color1}Temperature: $alignr${hwmon 3 temp 1}°C${font}
${font Montserrat Light:size=9}${color1}Fan: $alignr${color}${hwmon 3 fan 1}RPM${font}
${font Montserrat Light:size=9}${color1}Memory: ${alignr}${exec numfmt --to=iec < /sys/class/drm/card0/device/mem_info_vram_used} / ${exec numfmt --to=iec < /sys/class/drm/card0/device/mem_info_vram_total}
${font Montserrat Light:size=9}${color1}Load: ${alignr}${exec cat /sys/class/drm/card0/device/gpu_busy_percent}%${font}
${color1}${execbar cat /sys/class/drm/card0/device/gpu_busy_percent}
 
${font :size=11}${color7}Processes ${hr 2}${color}
${font Montserrat Light:size=9}${color1}Total: ${alignr}${processes}${font}
${voffset -10} 
${font Montserrat Light:size=9}${color1}APP NAME: ${goto 160}MEMORY: ${goto 245}CPU: ${color}${font}
${voffset -16}
${font Montserrat Light:size=9}${color1}${top_mem name 1} ${color}${font} ${goto 160}${top mem 1} % ${goto 235}${top cpu 1} %
${font Montserrat Light:size=9}${color1}${top_mem name 2} ${color}${font} ${goto 160}${top mem 2} % ${goto 235}${top cpu 2} %
${font Montserrat Light:size=9}${color1}${top_mem name 3} ${color}${font} ${goto 160}${top mem 3} % ${goto 235}${top cpu 3} %
${font Montserrat Light:size=9}${color1}${top_mem name 4} ${color}${font} ${goto 160}${top mem 4} % ${goto 235}${top cpu 4} %
${font Montserrat Light:size=9}${color1}${top_mem name 5} ${color}${font} ${goto 160}${top mem 5} % ${goto 235}${top cpu 5} %
${font Montserrat Light:size=9}${color1}${top_mem name 6} ${color}${font} ${goto 160}${top mem 6} % ${goto 235}${top cpu 6} %
${font Montserrat Light:size=9}${color1}${top_mem name 7} ${color}${font} ${goto 160}${top mem 7} % ${goto 235}${top cpu 7} %
${font Montserrat Light:size=9}${color1}${top_mem name 8} ${color}${font} ${goto 160}${top mem 8} % ${goto 235}${top cpu 8} %
${font Montserrat Light:size=9}${color1}${top_mem name 9} ${color}${font} ${goto 160}${top mem 9} % ${goto 235}${top cpu 9} %
${font Montserrat Light:size=9}${color1}${top_mem name 10} ${color}${font} ${goto 160}${top mem 10} % ${goto 235}${top cpu 10} %
]];
Нажми, что бы посмотреть визуально мою панель

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

Параметр conky.config используется для настройки параметров окна Conky, таких как положение и размер окна, общий фон и т.д.

Параметр conky.text используется для настройки отображения информации в окне Conky. Здесь ты можешь задать, какая информация будет отображаться, каким шрифтом и цветом, какие измерители (полосы загрузки, графики и т.д.) будут использоваться.

Как настроить?

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

  1. Ты можешь связь конфиг файл который предлагает Conky по умолчанию и изменять его. Можешь взять любой конфиг из интернета и изменить его под себя, например по этой ссылке. Можешь взять мой конфиг и адаптировать его под себя.

  2. Я покажу тебе на примере моего конфига. Копируешь мой конфиг -> создаешь файл conky.conf в папке ~/.config/conky/ -> Вставляешь скопированное в этой файл и сохраняешь

  3. Теперь нужно тебе определиться, в какой части экрана ты хочешь, что бы отображалась Conky панель. В конфиг файле есть параметр alignment = 'top_right' поменяй его на тот, который тебе нужен. Например на alignment = 'top_left'

  4. Теперь есть параметр minimum_height = 1370 , поменяй его значение на то, которое тебе комфортно.

Графический менеджер настроек Conky

Выше я говорил о то, что можно настраивать Conky через графику. Для этого есть специальный менеджер, ссылку ниже. Это не обязательно, но мало ли, может быть тебе так будет удобнее. Переходи по ссылке, устанавливай его.

После того как ты его установил, открывай и указывай то место, где находится твой конфиг файл.

Conky Manager 2 - это приложение для настройки и управления Conky. Оно предоставляет графический интерфейс для настройки Conky, а также позволяет выбирать готовые темы и настраивать их.

Conky без заморочек

Есть вариант ничего не делать и быстро получить Conky панель. Для этого идешь по этой ссылке и качаешь весь репо.

Распаковываешь .zip куда угодно и запускаешь файл start-lcc.sh

Автозагрузка Conky

Для Ubuntu ссылка

Для Arch ссылка

Last updated