вторник, 15 ноября 2011 г.

Conky

Моему нытью про негодные/отсутствующие/нерабочие индикаторы пришел конец - я познакомился с пакетом conky. Вообще совершенно непонятно как такой полезный пакет мог пройти мимо моего внимания раньше.

Conky - пользовательский демон который выводит различную информацию и графики прямо на рабочем столе. Конфигурационный файл поначалу кажется нелогичным и запутанным, однако после знакомства с документацией настройка его уже не составит труда. Множество встроенных плагинов, а также стандартный конвейер команд *nix позволяют вывести что угодно и как угодно.

Мой конфигурационный файл идет ниже. Он не требует дополнительных утилит и программ и достаточно адаптивен к конфигурации системы. Погодный информер (url картинки) для своего города можно взять у Яндекса или Гисметео.

# Conky configuration file (~/.conkyrc)
# http://ubuntudrom.blogspot.com/search/label/conky

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

alignment top_right
minimum_size 240 700
maximum_width 240
gap_x 20
gap_y 40

double_buffer yes
use_spacer right
use_xft yes

update_interval 2.0
update_interval_on_battery 5.0
cpu_avg_samples 2

draw_shades no
draw_outline no
draw_graph_borders yes
draw_borders no
stippled_borders 0
border_width 0
border_inner_margin 10
border_outer_margin 0

default_color grey
default_bar_size 10 60

xftfont ubuntu:size=8
xftalpha 1
text_buffer_size 512

uppercase no
format_human_readable yes

top_name_width 15
top_cpu_separate false

TEXT
# ------ System
${time} ${if_existing /proc/acpi/battery/BAT0/info}${alignr} Battery: ${battery_percent BAT0}%${endif}
Kernel: ${kernel} ${alignr} Uptime: ${uptime}

# ------ Weather
${color orange}Weather${color}
${execi 3600 wget -q -O- "http://info.weather.yandex.net/moscow/2_white.png" | convert -crop "200x38+0+30" -alpha Activate -channel alpha -evaluate multiply 0.7 "png:-" "png:${HOME}/.conkyweather"}
${voffset 4}
${alignc}${image ~/.conkyweather -f 300 -p 20,58}

# ------ CPU
${color orange}CPU${color}
${freq}MHz ${alignr} Load: ${loadavg}
${alignc}${loadgraph 20,240 e5e5e5 F1AA0E}
Total: ${cpu cpu0}% ${alignr} Temp: ${acpitemp}°C
${alignc}${cpugraph 0 20,240 e5e5e5 F1AA0E}
Core 1: ${cpu cpu1}% ${alignr} Core 2: ${cpu cpu2}%
${cpugraph 1 10,110 e5e5e5 F1AA0E}${alignr}${cpugraph 2 10,110 e5e5e5 F1AA0E}
Core 3: ${cpu cpu3}% ${alignr} Core 4: ${cpu cpu4}%
${cpugraph 3 10,110 e5e5e5 F1AA0E}${alignr}${cpugraph 4 10,110 e5e5e5 F1AA0E}

# ------ Processes
NAME${goto 90}PID${goto 130}CPU%${goto 170}MEM%${goto 210}TIME
${top name 1}${goto 90}${top pid 1}${goto 130}${top cpu 1}${goto 170}${top mem 1}${goto 210}${top time 1}
${top name 2}${goto 90}${top pid 2}${goto 130}${top cpu 2}${goto 170}${top mem 2}${goto 210}${top time 2}
${top name 3}${goto 90}${top pid 3}${goto 130}${top cpu 3}${goto 170}${top mem 3}${goto 210}${top time 3}

# ------ Memory
${color orange}Memory${color}
Total: ${memmax} ${alignr} Used: ${mem}
RAM: ${memperc}% ${alignr} Swap: ${swapperc}%
${memgraph 20,160 e5e5e5 F1AA0E} ${alignr} ${swapbar 20,60}

# ------ Disk
${color orange}Disk${color}
${alignc}${diskiograph /dev/sda 20,240 e5e5e5 F1AA0E}
Root: ${fs_used_perc /}% ${alignr} ${fs_bar 10,180 /}

# ------ Network
${if_up wlan0}\
${if_existing /sys/class/net/wlan0/operstate up}\
${color orange}Network: wlan0${color}
IP: ${addr wlan0} ${alignr} ESSID: ${wireless_essid wlan0}
<< ${totaldown wlan0} / ${downspeed wlan0} ${alignr} ${totalup wlan0} / ${upspeed wlan0} >>
${downspeedgraph wlan0 20,110 e5e5e5 F1AA0E} ${alignr} ${upspeedgraph wlan0 20,110 e5e5e5 F1AA0E}\

${endif}\
${endif}\
${if_up eth0}\
${if_existing /sys/class/net/eth0/operstate up}\
${color orange}Network: eth0${color}
IP: ${addr eth0}
<< ${totaldown eth0} / ${downspeed eth0} ${alignr} ${totalup eth0} / ${upspeed eth0} >>
${downspeedgraph eth0 20,110 e5e5e5 F1AA0E} ${alignr} ${upspeedgraph eth0 20,110 e5e5e5 F1AA0E}\

${endif}\
${endif}\

# ------ Misc

К сожалению просто так в автозапуск его поставить нельзя - при запуске он создает окно прямо на рабочем столе экрана логина, после чего (после логина) по всей видимости теряет это родительское окно и ничего вывести уже не может. Поэтому в автозапуск нужно вставить строчку с задержанным запуском.

/bin/bash -c "sleep 30 && /usr/bin/conky"

Комментариев нет:

Отправить комментарий