Conky (Русский)

From ArchWiki
Jump to navigation Jump to search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Введение

Conky является системным монитором для X Window System. Он доступен для Linux и FreeBSD. Это свободное программное обеспечение выпущенное на условиях лицензии BSD. Conky может производить мониторинг большинства системных параметров, включая частоту и загрузку CPU, RAM, подкачки, дискового пространства, температуру, может отображать системные сообщения, и др. Он предельно конфигурируем, однако, конфигурирование может быть слегка сложным для понимания. Conky - это ответвление от проекта torsmo.

Установка и конфигурирование

  • Conky можно найти в репозитории Extra
# pacman -S conky
  • Отредактируйте конфигурационный файл используя пример конфигурации с homeproject-screenshot
$ nano ~/.conkyrc
  • Либо используйте файл стандартной конфигурации /etc/conky/conky.conf:
$ cp /etc/conky/conky.conf ~/.conkyrc

Советы и рекомендации

Как предотвратить мерцание

Чтобы предотвратить мерцание, Conky требует поддержку Double Buffer Extension (DBE) со стороны X-сервера, потому что он не может достаточно быстро обновлять окно без этого. Поддержка DBE может быть включена в /etc/X11/xorg.conf добавлением строки Load "dbe" в Section "Module". Для включения double-buffer проверте наличие в ~/.conkyrc строки:

double_buffer yes

Интеграция с Kdesktop

Conky с конфигурацией из примеров на странице со скриншотами создаёт проблему с отображением иконок. Итак следуйте следующим шагам.

  • Добавьте эти строки в ~/.conkyrc:
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
  • Если данная строка есть, закомментируйте или удаалите её
minimum_size
  • Для автозапуска conky создайте следующий симилинк
$ ln -s /usr/bin/conky ~/.kde/share/autostart/conkylink
  • Установите feh
# pacman -S feh
  • Создайте скрипт для разрешения прозрачности с рабочим столом

Для пользователей KDE3

$ nano -w ~/.kde/share/autostart/fehconky 
#!/bin/bash
feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`

Для пользователей KDE4 (необходимы утилиты feh и fbset)

$ nano -w ~/.kde4/share/autostart/fehconky
#!/bin/bash
RESOLUTION=$(fbset -s | grep mode | cut -sd\" -f2)

WALL_DIR=$(kde4-config --path cache)plasma-wallpapers
WALL_DIR=${WALL_DIR}$(grep wallpaper= ~/.kde4/share/config/plasma-desktop-appletsrc | cut -sd= -f2)

WALL_FILE=$(find ${WALL_DIR} -name "*${RESOLUTION}*")

if [ ! -r ${WALL_FILE} ]; then
	echo "Failed to retrieve background image..." >&2
else
	feh --bg-scale ${WALL_FILE}
fi

используйте --bg-center, чтобы расположить фоновый рисунок по ценру.

  • Сделайте его исполняемым
$ chmod +x ~/.kde/share/autostart/fehconky
  • По желанию, вместо использования скрипта, вы можете добавить подобную строку в самый низ .conkyrc
$ nano ~/.conkyrc

Для KDE3

${exec feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`}

Для KDE4 предпочтителен первый способ (в связи с длиной скрипта).

Как отображать информацию о доступных обновлениях пакетов в Conky

Взгляните на следующие темы о скриптах отображения информации о доступных обновлениях пакетов в conky:

Как отображать прогноз погоды в Conky

Смотрите this thread.

Как отображать RSS-ленты в Conky

Conky имеет возможность отображать RSS-ленты самостоятельно, без необходимости применения внешних скриптов. Например, чтобы отображать заголовки десяти последних обновлений Planet Arch и обновлять ленту каждую минуту вы должны поместить это в ваш .conkyrc:

${rss http://planet.archlinux.org/rss20.xml 1 item_titles 10 }

Как отображать состояние rtorrent в Conky

Смотрите эту тему.

Как отображать количество новых писем (Gmail) в Conky

Создайте файл с именем gmail.py в удобном месте (в этом примере используется ~/.scripts/) со следующим кодом Python:

import os
import string
 
#Введите ваши имя_пользователя и пароль в двойных кавычках ниже
# напр. username="имя_пользователя" и password="пароль"
username="****"
password="****"
com="wget -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"

temp=os.popen(com)
msg=temp.read()
index=string.find(msg,"<fullcount>")
index2=string.find(msg,"</fullcount>")
fc=int(msg[index+11:index2])

if fc==0:
   print "0 new"
else:
   print str(fc)+" new"

Добавьте следующую строку к вашему .conkyrc чтобы проверять ваш почтовый ящик gmail на предмет новых писем каждые 5 минут (300 секунд) и отображать: # new

${execi 300 python ~/.scripts/gmail.py}

Скрипт на Bash:

#!/bin/bash

login="****"
psswd="****"

new=`curl -u ${login}:${psswd} -s "https://mail.google.com/mail/feed/atom" | grep -c "<entry>"`
echo $new new

Некоторые параметры

${cpu cpu1} показывать на каждое ядро (вместо "1" номер ядра)

${nvidia temp} при этом конки должны быть собраны с поддержкой nvidia в оф репах без нее, в AUR можно взять там такие конки собраны, вариант выводить значение от команды

${execi 4 nvidia-settings -query GPUCoreTemp | grep Attribute | cut -c 39-40} (команда проприетарного драйвера нвидии, где "cut -c 39-40" символы которые выводить в коньки можете поэксперементировать сами если у вас ничего не видно или можно через команды вывода температуры пакета lm_sensors)

${top_mem mem_res 1} показывать в мегабайтах сколько занимает оперативы процесс и вот линк на статейку с овер9000 ключей коньков [1]

Внешние ссылки

Предоставленные пользователями файлы .conkyrc

Graysky's .conkyrc

[Скриншот]

Измените в соответствии вашей системе. Optimized for a quad core chip w/ three hdds (although two of them aren't connected for this screenshot) and an nvidia graphics card. You can easily modify this to a dual or single core system with one or whatever number of hdds.

# for this to work you need both lm-sensors and hddtemp
# get both from main repos

# set to yes if you want Conky to be forked in the background
background no

own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

out_to_console no

# X font when Xft is disabled, you can pick one with program xfontsel
#font 7x12
#font 6x10
#font 7x13
#font 8x13
#font 7x12
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
#font -artwiz-snap-normal-r-normal-*-*-100-*-*-p-*-iso8859-1

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=8
#
#
#own_window_transparent no
#own_window_colour hotpink
# Text alpha when using Xft
xftalpha 0.8

#on_bottom yes

# Update interval in seconds
update_interval 2
# Create own window instead of using desktop (required in nautilus)
#own_window no

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
#minimum_size 250 5
maximum_width 258

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 10

# border margins
border_margin 4

# border width
border_width 1

# Default colors and also border colors
default_color white
default_shade_color white
default_outline_color white

# Text alignment, other possible values are commented
#alignment top_left
#minimum_size 10 10
#alignment top_right
alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
gap_x 12
gap_y 37
# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer no

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

TEXT
${color #ddaa00}$nodename$color
$sysname $kernel on $machine
${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg${color lightgrey}
RAM Usage:$color $memperc% or $mem of $memmax${color lightgrey}
Swap Usage:$color $swapperc%${color lightgrey}
$color$stippled_hr${color lightgrey}
Intel Xeon X3360 @ $color${freq_g} GHz${color lightgrey} (Vcc: ${execi 8 sensors | grep in0 | cut -c15-19} V)
${color black}${cpugraph 000000 5000a0}${color lightgrey}
 ${color lightgrey}Core0:$color ${execi 8 sensors | grep -A 1 'Core 0' | cut -c15-16 | sed '/^$/d'} °C${color grey} @$color ${cpu cpu1}%   ${alignr}${cpubar cpu1 6,120}
 ${color lightgrey}Core1:$color ${execi 8 sensors | grep -A 1 'Core 1' | cut -c15-16 | sed '/^$/d'} °C${color grey} @$color ${cpu cpu2}%   ${alignr}${cpubar cpu2 6,120}
 ${color lightgrey}Core2:$color ${execi 8 sensors | grep -A 1 'Core 2' | cut -c15-16 | sed '/^$/d'} °C${color grey} @$color ${cpu cpu3}%   ${alignr}${cpubar cpu3 6,120}
 ${color lightgrey}Core3:$color ${execi 8 sensors | grep -A 1 'Core 3' | cut -c15-16 | sed '/^$/d'} °C${color grey} @$color ${cpu cpu4}%   ${alignr}${cpubar cpu4 6,120}${color grey}
$color$stippled_hr${color lightgrey}
${color grey} sda:$color ${execi 300 sudo hddtemp /dev/sda | cut -c25-26} °C    ${color grey} sdb:$color ${execi 300 sudo hddtemp /dev/sdb | cut -c24-25} °C    ${color grey} sdc:$color ${execi 300 sudo hddtemp /dev/sdc | cut -c34-35} °C
${color grey} GPU:$color ${execi 8 nvclock -T | grep 'GPU t' | cut -c21-22} °C    ${color grey} M/B:$color ${execi 8 sensors | grep temp2 | cut -c15-16} °C     ${color grey} NB:$color ${execi 8 sensors | grep temp3 | cut -c15-16} °C
$color$stippled_hr${color lightgrey}
${color slate grey} /dev/shm: ${color }${fs_used_perc  /dev/shm} %  ${fs_bar /dev/shm}
${color grey}$stippled_hr${color light grey}
${color lightgrey}Processes:$color $processes  ${color grey}Running:$color $running_processes
${color}Name              PID     CPU%   MEM%
${color #ddaa00} ${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}Mem usage
${color #ddaa00} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}