Conky — программа для системного мониторинга под X Window System. Она поддерживает POSIX-системы, включая GNU/Linux и FreeBSD.
Conky имеет большое количество настроек и может отслеживать многие показатели системы: CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
В файле ~/.conkyrc, в строке:
${font StyleBats:size=16}y${font} Gmail: ${execi 300 python /home/username/.gmail.py}
значение 300 равно периоду проверки почты (300 секунд = 5 минут), то есть каждые 5 минут, проверяется наличие новых сообщений, этот параметр можете менять как вам угодно.
Conky имеет большое количество настроек и может отслеживать многие показатели системы: CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
Некоторые скриншоты conky (нагло скопированы с инета):
1. Установка:
$ sudo apt-get install conky conky-all
2. Запуск:
Видим примерно такое (стандартная конфигурация conky):
Проверим наличие файла:
Файл создали, теперь conky, в первую очередь обратит внимание именно на файл ~/.conkyrc , а не на /etc/conky/conky.conf.
Основные параметры настройки conky вы можете посмотреть на conky.sourceforge.net (ибо этой стоит не одной статьи).
При пересохранении конфигурационного файла, conky автоматически перезапускается и отображается согласно новой конфигурации.
Теперь conky запускается автоматически при запуске системы.
Пример моего конфига conky:
background yes
use_xft yes
xftfont HandelGotD:size=8
xftalpha 0.5
update_interval 1.0
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 170 5
maximum_width 190
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color aaaaaa
default_shade_color red
default_outline_color green
#alignment top_left
gap_x 5
gap_y 5
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
TEXT
MAIL ${hr 2}
${font StyleBats:size=16}y${font} Gmail: ${execi 300 python /home/ametumerov/.gmail.py}
$ conky
Видим примерно такое (стандартная конфигурация conky):
В первой строке видим версию ядра.
Если пользовательского файла нет, то используется файл конфигурации по умолчанию: /etc/conky/conky.conf. Конфигурационный файл содержит параметры настройки программы, а также инструкции для вывода и оформления информации в специальном формате. Достаточная сложность редактирования этого файла окупается гибкостью настройки.
Затем по порядку аптайм (время работы компьютера),
частоту процессора с MHz и Ghz,
нагрузку процессора,
используемую оперативную память и раздел swap,
количество всех и запущенных процессов.
Занятая память в разделе / ,
параметры сети (загрузка и отдача) и "топ" процессы.
Conky настраивается при помощи редактирования пользовательского конфигурационного файла ~/.conkyrc.Если пользовательского файла нет, то используется файл конфигурации по умолчанию: /etc/conky/conky.conf. Конфигурационный файл содержит параметры настройки программы, а также инструкции для вывода и оформления информации в специальном формате. Достаточная сложность редактирования этого файла окупается гибкостью настройки.
Рекомендую вам пользоваться файлом ~/.conkyrc.
Проверим наличие файла:
$ cd ~/
$ ls -a
Ищем файл .conkyrc, если его нет, то создадим его, иначе пропускаем этот шаг:
$ cat /etc/conky/conky.conf > ~/.conkyrc
Вы можете открыть файл в любом текстовом редакторе и изучить его (gedit - стандартный текстовый редактор среды GNOME):
$ gedit ~/.conkyrc
Если вы используете arch linux, то здесь подробный мануал по установке conky на арч.
Вы можете самостоятельно изучить параметры настройки conky, а можете просто найти в интернете понравившиеся вам конфигурации и скопировать их содержимое.
При пересохранении конфигурационного файла, conky автоматически перезапускается и отображается согласно новой конфигурации.
3. Добавим в автозагрузку такую команду:
sh -c "sleep 3 && conky -d"
Теперь conky запускается автоматически при запуске системы.
Пример моего конфига conky:
use_xft yes
xftfont HandelGotD:size=8
xftalpha 0.5
update_interval 1.0
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 170 5
maximum_width 190
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color aaaaaa
default_shade_color red
default_outline_color green
#alignment top_left
gap_x 5
gap_y 5
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
TEXT
MAIL ${hr 2}
${font StyleBats:size=16}y${font} Gmail: ${execi 300 python /home/ametumerov/.gmail.py}
SYSTEM ${hr 2}
${font StyleBats:size=16}A${font} CPU: ${cpu cpu0}% ${alignr}${cpubar cpu0 8,60}
${font StyleBats:size=16}g${font} RAM: $memperc% ${alignr}${membar 8,60}
${font StyleBats:size=16}j${font} SWAP: $swapperc% ${alignr}${swapbar 8,60}
${font StyleBats:size=16}p${font} FS: ${fs_used_perc /}% ${alignr}${fs_bar 8,60}
${font StyleBats:size=16}j${font} /home: ${fs_used_perc /home}% ${alignr}${fs_bar 8,60 /home}
${font StyleBats:size=16}q${font} Uptime: ${alignr}${uptime}
NETWORK ${hr 2}${if_existing /proc/net/route eth0}
${font StyleBats:size=16}o${font} Up: ${upspeed eth0}
${font StyleBats:size=16}z${font} Down: ${downspeed eth0}
${else}
${if_existing /proc/net/route wlan0}
${font StyleBats:size=16}o${font} Up: ${upspeed wlan0}
${font StyleBats:size=16}S${font} Down: ${downspeed wlan0}
${font StyleBats:size=16}n${font} Signal: ${wireless_link_qual wlan0}%
${else}
${font StyleBats:size=16}f${font} Network Unavailable
А выглядит он так:
Для того чтобы выводилось уведомление о новых сообщениях в gmail, нужно создать файл .gmail.py в домашней папке с таким содержимым:
import os
import string
username="XXXXXXX" #ваш логин (без gmail.com, например ivanpetrov)
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"
${font StyleBats:size=16}A${font} CPU: ${cpu cpu0}% ${alignr}${cpubar cpu0 8,60}
${font StyleBats:size=16}g${font} RAM: $memperc% ${alignr}${membar 8,60}
${font StyleBats:size=16}j${font} SWAP: $swapperc% ${alignr}${swapbar 8,60}
${font StyleBats:size=16}p${font} FS: ${fs_used_perc /}% ${alignr}${fs_bar 8,60}
${font StyleBats:size=16}j${font} /home: ${fs_used_perc /home}% ${alignr}${fs_bar 8,60 /home}
${font StyleBats:size=16}q${font} Uptime: ${alignr}${uptime}
NETWORK ${hr 2}${if_existing /proc/net/route eth0}
${font StyleBats:size=16}o${font} Up: ${upspeed eth0}
${font StyleBats:size=16}z${font} Down: ${downspeed eth0}
${else}
${if_existing /proc/net/route wlan0}
${font StyleBats:size=16}o${font} Up: ${upspeed wlan0}
${font StyleBats:size=16}S${font} Down: ${downspeed wlan0}
${font StyleBats:size=16}n${font} Signal: ${wireless_link_qual wlan0}%
${else}
${font StyleBats:size=16}f${font} Network Unavailable
А выглядит он так:
Для того чтобы выводилось уведомление о новых сообщениях в gmail, нужно создать файл .gmail.py в домашней папке с таким содержимым:
import os
import string
username="XXXXXXX" #ваш логин (без gmail.com, например ivanpetrov)
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, в строке:
${font StyleBats:size=16}y${font} Gmail: ${execi 300 python /home/username/.gmail.py}
значение 300 равно периоду проверки почты (300 секунд = 5 минут), то есть каждые 5 минут, проверяется наличие новых сообщений, этот параметр можете менять как вам угодно.
1 комментарий:
Хороший скрипт, только поправить python немножко нужно. А вообще - спасибо, все просто и стильно.
Отправить комментарий