conky (light-weight system monitor for X)

Conky - мощный и легко настраиваемый системный монитор.
Ответить
Аватара пользователя
nk
Модератор
Сообщения: 398
Зарегистрирован: 14 сен 2014, 00:35
Темы: 75
Статус: Не в сети

Conky - утилита для мониторинга системы

Сообщение nk » 22 фев 2012, 09:49

Conky
информативная утилита мониторинга,
лёгкая и удобная

Изображение Изображение Изображение
http://ru.wikipedia.org/wiki/Conky писал(а):Conky — это программа для системного мониторинга под X Window System. Она поддерживает POSIX‐системы, включая GNU/Linux и FreeBSD. Это свободная программа, распространяющаяся под лицензией BSD. Conky может отслеживать многие показатели системы: CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое. Conky имеет множество настроек и конфигураций.
Conky является форком программы torsmo, системного монитора, который больше не развивается.
Homepage: Запуск:
  • Запуск с конфигом по умолчанию или же конфигом .conkyrc, который лежит в домашнем каталоге текущего пользователя:Если же хотите запустить по конкретному конфигу, то

    Код: Выделить всё

    $ conky -c /путь/до/файла.conkyrc
conkyrc: Ссылки // *conky configs and screenshots!* //:

Аватара пользователя
olgmen
Сообщения: 155
Зарегистрирован: 30 ноя 2012, 11:00
Темы: 32
Откуда: Санкт-Петербург
Статус: Не в сети

conky (light-weight system monitor for X)

Сообщение olgmen » 01 дек 2012, 18:30

CONKY это очень просто

Многие слышали о conky но не многим удается запустить скаченные из интернета понравившиеся conky. Всё дело в том, что по умолчанию в Crunchbang -10, да и в Crunchbang-11 установлена облегченная версия conky, которая не поддерживает скрипты написанные на lua. Для начала проверяем установленную версию. Для этого в терминале даем команду, все команды из под юзера,

Код: Выделить всё

conky -v
Если будет выдан подобный текст
Показать

Код: Выделить всё

Conky 1.9.0 compiled Fri May 11 15:54:00 UTC 2012 for Linux 2.6.32-5-amd64 (x86_64)

Compiled in features:

System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky

 X11:
  * Xdamage extension
  * XDBE (double buffer extension)
  * Xft
  * ARGB visual

 Music detection:
  * Audacious
  * MPD
  * MOC
  * XMMS2

 General:
  * math
  * hddtemp
  * portmon
  * Curl
  * RSS
  * Weather (METAR)
  * Weather (XOAP)
  * wireless
  * support for IBM/Lenovo notebooks
  * nvidia
  * eve-online
  * config-output
  * Imlib2
  * apcupsd
  * iostats
  * ncurses
  * Lua

  Lua bindings:
   * Cairo
   * Imlib2
значит повезло. Здесь нас интересуют последние несколько строк

Код: Выделить всё

  * Imlib2
  * apcupsd
  * iostats
  * ncurses
  * Lua

  Lua bindings:
   * Cairo
   * Imlib2
Они означают, что установлена версия CONKY-ALL с поддержкой LUA

Если таких строк нет, ничего страшного, в терминале, под рутом, даем команду

Код: Выделить всё

sudo apt-get remove conky
и устанавливаем необходимые нам conky-all. Для запуска любых conky необходимо установить ещё несколько программ
  • curl - для возможности conky забирать данные из сети
  • lm-sensors - для вывода данных о температуре, напряжениях, оборотах вентилятора процессора
  • hddtemp - для вывода температуры жеских дисков
  • python-statgrab - для возможности работы со скриптами написанными на питоне
Устанавливаем всё сразу, если что то уже установлено, то ничего страшного, второй раз не установятся.

Код: Выделить всё

sudo apt-get install python-statgrab hddtemp curl lm-sensors conky-all
При установке hddtemp будет задан вопрос "включать при запуске" отвечаем да. После установки всех программ необходимо сделать следующее.

Дать возможность hddtemp работать под любым пользователем. В терминале даем соманду

Код: Выделить всё

sudo chmod u+s /usr/sbin/hddtemp
Для работы lm-sensors

Код: Выделить всё

sudo sensors-detect
Теперь внимательно смотрим на выводимые сообщения и на ВСЕ вопросы отвечаем "ДА", во многих вопросах "ДА" ответ по умолчанию, но в последнем вопросе по умолчанию "НЕТ", надо обязательно ответить "ДА". После настройки необходимо перезапустить компьютер. Все сенсоры будут подключены. Для проверки под юзером в терминале даем команду
Ответ будет примерно такой
Показать

Код: Выделить всё

olgmen@olgmen:~$ sensors
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage:      +1.22 V  (min =  +0.85 V, max =  +1.60 V)
 +3.3 Voltage:      +3.18 V  (min =  +2.97 V, max =  +3.63 V)
 +5 Voltage:        +5.07 V  (min =  +4.50 V, max =  +5.50 V)
 +12 Voltage:      +12.36 V  (min = +10.20 V, max = +13.80 V)
CPU FAN Speed:     2096 RPM  (min =  600 RPM, max = 7200 RPM)
CHASSIS FAN Speed:    0 RPM  (min =  800 RPM, max = 7200 RPM)
CPU Temperature:    +21.0°C  (high = +60.0°C, crit = +95.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +38.0°C  (high = +74.0°C, crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:       +37.0°C  (high = +74.0°C, crit = +100.0°C)

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore:        +1.22 V  (min =  +0.00 V, max =  +1.74 V)
in1:          +1.87 V  (min =  +0.00 V, max =  +0.03 V)  ALARM
AVCC:         +3.18 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:        +3.18 V  (min =  +2.98 V, max =  +3.63 V)
in4:          +1.19 V  (min =  +1.09 V, max =  +0.10 V)  ALARM
in5:          +1.58 V  (min =  +1.57 V, max =  +1.42 V)  ALARM
in6:          +1.19 V  (min =  +0.34 V, max =  +0.02 V)  ALARM
3VSB:         +3.18 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:         +3.17 V  (min =  +2.70 V, max =  +3.63 V)
fan1:           0 RPM  (min =   79 RPM, div = 128)  ALARM
fan2:        2096 RPM  (min = 8035 RPM, div = 4)  ALARM
fan3:           0 RPM  (min = 3443 RPM, div = 8)  ALARM
fan4:           0 RPM  (min =    0 RPM, div = 4)  ALARM
fan5:           0 RPM  (min = 7031 RPM, div = 4)  ALARM
temp1:        +45.0°C  (high = +232.0°C, hyst =  +1.0°C)  ALARM  sensor = thermistor
temp2:        +21.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
temp3:        +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
cpu0_vid:    +0.000 V

olgmen@olgmen:~$ 
Примерно потому, что разные материнки имеют разные сенсоры и ответ может отличаться от показанного мной.

Теперь любые скаченные из сети конки должны работать.
Кто ищет, тот всегда найдет

Arch Linux
Conky - 1.9

Аватара пользователя
olgmen
Сообщения: 155
Зарегистрирован: 30 ноя 2012, 11:00
Темы: 32
Откуда: Санкт-Петербург
Статус: Не в сети

Re: CONKY это очень просто

Сообщение olgmen » 02 дек 2012, 08:38

Документация о conky

Наверное не многие знают, что имеют основную документацию по conky прямо у себя в компьютере. Заходим в

/usr/share/doc/conky-all

и видим четыре документа в формате .html

- docs.html - описание команд используемых в conky
- config_settings.html - команды используемые для написания conkyrc (в виде таблицы)
- variables.html - команды используемые для вывода данных в окно conky (в виде таблицы)
- lua.html - небольшая часть команд lua (в виде таблицы)

всё это на английском языке.

Для тех, кому английский не доступен, даю ссылку на хорошее руководство по Conkyhttp://bit.ly/JDwMij
можно скачать и распечатать, 5.3 MB, 87 страниц в формате .pdf, написано хорошо, так что рекомендую.
Кто ищет, тот всегда найдет

Arch Linux
Conky - 1.9

Аватара пользователя
olgmen
Сообщения: 155
Зарегистрирован: 30 ноя 2012, 11:00
Темы: 32
Откуда: Санкт-Петербург
Статус: Не в сети

Re: CONKY это очень просто

Сообщение olgmen » 05 дек 2012, 08:31

Теперь я хочу немного рассказать о возникающих ошибках при запуске conky. Для начала самая распространенная.

Всё сделано, conky настроены, из сети скачены понравившиеся коньки, запускаем, но ... не идут. Что же делать? Просто первые запуски необходимо делать из консоли и внимательно смотреть на те нехорошие слова которые там появляются. Надо всегда помнить о том, что двух одинаковых компов нет. Поэтому так как конки пишут для себя, то невозможно предусмотреть всё, да и универсальные коньки - предел мечтаний.

Перейдем к примерам. Конки распакованы в домашнюю папку.

В терминале даём команду на запуск коньков из под юзера

Код: Выделить всё

conky -c ~/путь до папки с коньками/conkyrc
Символ ~/ - означают домашнюю папку

Всё сделали, но коньки не появились, или появились установленные по умолчания, этакое убожество в левом верхнем углу экрана, а не то что ожидалось. Или, если в домашней папке остался файл .conkyrc, запускаются установленные по умолчанию, или предыдущие conky. Это все происходит потому, что при запуске по указанной выше команде, conky начинает искать указанный файл. Если он его не находит, то начинает искать файл .conkyrc в домашней папке. Если ничего не находит, то берет запускающий файл из /etc/conky/conky.conf. В терминале появилась такая надпись

Conky: invalid configuration file '/home/olgmen/conky/conkyrc'

Указанная выше надпись означает, что по указаннаму нами пути нет файла с именем conkyrc. Заходим в папку где хранятся conky и ищем название запускающего файла. Обычно название файла, запускающего conky, conkyrc, но бывает, какой-нибудь любитель коньков назовет эго иначе.
Некоторые виды названий: .conkyrc, myconkyrc, start ну и подобное.

"Убиваем" запустившиеся conky дав в терминале команду

Код: Выделить всё

killall conky
Заходим в папку с conky и с помощью любимого редактора просматриваем находящиеся там файлы.

В редакторе запускающий файл выглядит примерно так

Код: Выделить всё

# Conky, a system monitor, based on torsmo
#
# Any original torsmo code is licensed under the BSD license
#
# All code written since the fork of torsmo is licensed under the GPL
#
# Please see COPYING for details
#
# Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
# Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

alignment top_left
background no
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=12
gap_x 5
gap_y 60
minimum_size 5 5
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_class Conky
own_window_type desktop
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no

# — Lua Load — #

lua_load ~/conky_interactive_3/scripts/start_v.3.lua
lua_draw_hook_pre main

TEXT
${scroll 16 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
$hr
${color grey}Name              PID   CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
Если в conkyrc имеются подобные строки

# — Lua Load — #

lua_load ~/conky_interactive_3/scripts/start_v.3.lua
lua_draw_hook_pre main


то в этих conky используются lua-скрипты, conkyrc для работы с lua обычно имеют всего одну-две пустые строки ниже слова TEXT, верхняя часть обязательна для любых коньков.

Исправляем команду запуска, вписав правильное название запускающего файла. Если после этого всё запустилось, то значит повезло, и конки нормально работают. Теперь можно скопировать запускающий файл в домашнюю папку под именем .conkyrc. Далее командой в терминале
конки будут нормально запускаться и работать.

Далее я, по мере того, как вспомню, какие ошибки могут возникнуть, буду добавлять рекомендации по исправлению

Если появятся вопросы, связанные с ошибками при запуске и неправильному выводу данных, прошу задавать вопросы. Этим вы поможете дописать эти заметки.

Удачных коньков
Кто ищет, тот всегда найдет

Arch Linux
Conky - 1.9

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: CONKY это очень просто

Сообщение Серый » 16 мар 2014, 20:15

olgmen, в conky есть параметр, позволяющий вывести название текущего окна из openbox в вывод conky? Нужно, чтобы он менялся в зависимости от того на какое окно я переключаюсь.
Заранее спасибо.

Аватара пользователя
olgmen
Сообщения: 155
Зарегистрирован: 30 ноя 2012, 11:00
Темы: 32
Откуда: Санкт-Петербург
Статус: Не в сети

Re: CONKY это очень просто

Сообщение olgmen » 17 мар 2014, 08:59

Серый, это возможно. Писал давно на сайте forum.ubuntu.ru Вот эта статья

Переключатель рабочих столов в conky.

Нашел на сайте http://blog.conky.be , попробовал, работает. Даю перевод

Переключатель рабочих столов в conky
Не работает при включенном компизе

Шаг 1: Создание квадратов
С помощью редактора изображений GIMP или любого графического редактора, создайте два простых изображения. Например: один черный квадрат, второй белый. Размеры могут быть любыми, можно использовать готовые изображения. Сохраним изображения в папке, например: ~/Pictures, черный квадрат — bk.png, белый — wh.png

Шаг 2: Размещение на рабочем столе переключателя
Можно разместить переключатель рабочих мест в любом виде: в линию, квадратом, и т.п. И на любом месте. В conky координаты размещения изображений считают от верхнего левого угла.

Шаг 3: Коды в conky
Сначала разместим все черные квадраты, выводиться будут в верхней части экрана

Код: Выделить всё

${image ~/Pictures/bk.png -p 3,5 -s 40x40}${image ~/Pictures/bk.png -p 47,5 -s 40x40}${image ~/Pictures/bk.png -p 91,5 -s 40x40}${image ~/Pictures/bk.png -p 135,5 -s 40x40}
в этой строке: -p 3,5 3 — расстояние по горизонтали, 5 — по вертикали в пикселях
-s 40x40 — размер изображения
Теперь, используя $if_match и $desktop будет выбираться положение белого квадрата

Код: Выделить всё

${if_match ${desktop}==1}${image ~/Pictures/wh.png -p 3,5 -s 40x40}${endif}${if_match ${desktop}==2}${image ~/Pictures/wh.png -p 47,5 -s 40x40}${endif}${if_match ${desktop}==3}${image ~/Pictures/wh.png -p 91,5 -s 40x40}${endif}${if_match ${desktop}==4}${image ~/Pictures/wh.png -p 135,5 -s 40x40}${endif}
Индикатор готов к работе, необходимо отредактировать строку update_interval, у меня выставлено 0.1

P.S. update_interval, если не нужно выводить моментально, то можно оставить значение в 1 секунду, меньше нагрузка на проц.
Кто ищет, тот всегда найдет

Arch Linux
Conky - 1.9

Аватара пользователя
ZEN
Администратор
Сообщения: 1349
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Re: CONKY это очень просто

Сообщение ZEN » 17 мар 2014, 23:33

Серый писал(а):olgmen, в conky есть параметр, позволяющий вывести название текущего окна из openbox в вывод conky? Нужно, чтобы он менялся в зависимости от того на какое окно я переключаюсь.
Заранее спасибо.
Если я правильно понял, то нужно именно то что в заголовке окна? Это можно средствами bash получить. Например, как-то так:

Код: Выделить всё

xwininfo -id $(xdotool getwindowfocus) | awk -F'"' '/^xwininfo/{print $2 ; exit}'
Или если нужно получить именно имя приложения, то тогда такой вариант:

Код: Выделить всё

xprop -id $(xdotool getwindowfocus) | awk -F'"' '/^WM_CLASS/{print $4 ; exit}'
только вопрос тогда как сделать правильно обновление. Каждую секунду из conky вызывать... можно, но накладно. Стоит поискать как задать хук на переключение окон, если это возможно
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: CONKY это очень просто

Сообщение Серый » 18 мар 2014, 08:00

olgmen, ZEN, спасибо.
ZEN писал(а): Если я правильно понял, то нужно именно то что в заголовке окна? Это можно средствами bash получить. Например, как-то так:
xwininfo -id $(xdotool getwindowfocus) | awk -F'"' '/^xwininfo/{print $2 ; exit}'
Да, это то что надо, т.к. olgmen в чате сказал, что того параметра, что я хочу, в conky не находил.
ZEN писал(а): только вопрос тогда как сделать правильно обновление. Каждую секунду из conky вызывать... можно, но накладно.
Об этом я не подумал, это не только накладно, но и будет задержка с отображением названия окна при переключении на новое окно.

Аватара пользователя
nk
Модератор
Сообщения: 398
Зарегистрирован: 14 сен 2014, 00:35
Темы: 75
Статус: Не в сети

Re: CONKY это очень просто

Сообщение nk » 30 июл 2016, 20:07

olgmen писал(а): Дать возможность hddtemp работать под любым пользователем. В терминале даем соманду

Код: Выделить всё

sudo chmod u+s /usr/sbin/hddtemp
мое замечание здесь и совет: не поступайте так никогда! В Интернете это распространенное решение, но можно же и по другому поступить, другими способами, наверно, способ, который всем подойдет, это через sudo реализовать:

Код: Выделить всё

$ hddtemp /dev/sdb
/dev/sdb: open: Отказано в доступе

$ which hddtemp
/usr/sbin/hddtemp
и в /etc/sudoers пропишем:

Код: Выделить всё

имяПОЛЬЗОВАТЕЛЯ имяМАШИНЫ = NOPASSWD: /usr/sbin/hddtemp /dev/sd*
получаем команду:

Код: Выделить всё

$ sudo /usr/sbin/hddtemp /dev/sdb
• Web: Firefox • Jabber: Gajim • WM: Openbox
Изображение

Ответить

Кто сейчас на конференции

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