Conky (Русский)

From ArchWiki

Jump to: navigation, search


Article summary
Содержи информацию по конфигурированию и решению проблемных вопросов системного монитора conky.
Доступные языки
English
简体中文
Italiano
Русский
Türkçe

Contents

Введение

Conky системный монитор для X Window System. Он доступен для Linux и FreeBSD. Это свободное программное обеспечение выпущенное на условиях лицензии BSD. Conky может производить мониторинг большинства количества системных переменных, включая CPU, memory, swap, disk space, temperature, top, upload, download, system messages, и многого другого. Он предельно конфигурируем, однако, конфигурирование может быть слегка сложным для понимания. 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

$ nano -w ~/.kde4/share/autostart/fehconky
#!/bin/bash
feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"

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

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

Для KDE3

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

Для KDE4

${exec feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"}

Как отображать информацию о доступных обновлениях пакетов в 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}

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

Предоставленные пользователями файлы .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}
Personal tools