exelens 24.11.2009 23:41
Есть вопрос! — Конфиг conky
Помогите плиз настроить конфиг.Хочется следующего.
Так как устройство портативное (нетбук) то оно часто подключается к инету через разные соединения, могут быть:
через вай-фай wlan0
через мегафон-модем ppp0
и через шнурок обычный eth0
Хочется чтобы оно помимо всякой ерунды типа память и диски =) Это я умею настраивать =) показало только активное соединение ну а если нет соединения показало смайтик вида "=(" и написало "нет сетки".
Как такое делать я условно понял... и вроде даже сделал но работает не совсем так как нужно.
Нужно использовать конструкцию типа
${if_existing /proc/net/route wlan0}
blabla
${else}
${if_existing /proc/net/route ppp0}
blabla
${else}
blabla
${if_existing /proc/net/route eth0}
blabla
${else}
${font PizzaDude Bullets:size=13}4${font} Нет никакой сетки ${endif}
если сетки нет то всё ок оно пишет про почту (хотя в этом случае пусть бы лучше не писало) =) вот скрин
а если сетка есть оно не пишет сколько почты, а должно (про почту должно писаться сразу после того как напишет в каком состояни сетка)
На скрине кранч настроеный так
Мой конфиг под катом.
И ещё вопрос, как выводить качество связи по ppp0?
по wlan0 через ${wireless_link_qual_perc wlan0}%
Вот конфиг
# conky configuration
#
# The list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
#
# For ideas about how to modify conky, please see:
# http://crunchbanglinux.org/forums/topic/59/my-conky-config/
#
# For help with conky, please see:
# http://crunchbanglinux.org/forums/topic/2047/conky-help/
#
# Enjoy! :)
##############################################
# Settings
##############################################
background yes
use_xft yes
xftfont Sans:size=8
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 200 200
maximum_width 500
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_shade_color black
default_outline_color white
alignment top_right
gap_x 12
gap_y 12
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
##############################################
# Output
##############################################
TEXT
Информация о системе:${hr}
Проц 1 используется:$alignr${cpu cpu1}%
Проц 2 используется:$alignr${cpu cpu2}%
Крутится: $alignr$uptime
Оператива: $alignr$mem/$memmax
СВОП: $alignr$swap/$swapmax
Диски ${hr}
Корень $alignr${fs_used /}/${fs_size /}
Дом $alignr${fs_used /home/}/${fs_size /home/}
${if_existing /media/disk/}Большая флешка $alignr${fs_used /media/disk/}/${fs_size /media/disk/}${else}${endif}
Жадно жрут ресурсы ${hr 2}
${top_mem name 1}${alignr}${top mem 1} %
${top_mem name 2}${alignr}${top mem 2} %
${top_mem name 3}${alignr}${top mem 3} %
${top_mem name 4}${alignr}${top mem 4} %
${top_mem name 5}${alignr}${top mem 5} %
${if_existing /proc/net/route wlan0}
Айпишник по Вафле: $alignr ${addr wlan0}
Соеденились с: $alignr ${wireless_essid wlan0}
Качество связи: $alignr ${wireless_link_qual_perc wlan0}%
Качаем: ${downspeed wlan0} kb/s $alignr всего: ${totaldown wlan0}
Заливаем: ${upspeed wlan0} kb/s $alignr всего: ${totalup wlan0}
${else}
${if_existing /proc/net/route ppp0}
Айпишник от МегаФона: $alignr ${addr ppp0}
Соеденились с: $alignr ${wireless_essid ppp0}
Качаем: ${downspeed ppp0} kb/s $alignr всего: ${totaldown ppp0}
Заливаем: ${upspeed ppp0} kb/s $alignr всего: ${totalup ppp0}
${else}
${if_existing /proc/net/route eth0}
Айпишник от Шнурка: $alignr ${addr eth0}
Качаем: ${downspeed eth0} kb/s $alignr всего: ${totaldown eth0}
Заливаем: ${upspeed eth0} kb/s $alignr всего: ${totalup eth0}
${else}
${font PizzaDude Bullets:size=13}4${font} Нет никакой сетки ${endif}
Почта ${hr}
В рабочем ящике ${color3}${texeci 60 perl ~/scripts/workmail.pl n} ${color}сообщений.
В личном ящике ${color3}${texeci 60 perl ~/scripts/mygmail.pl n} ${color}сообщений.
-----
да, спойлер нужен...
m0nhawk 25.11.2009 00:22 #
+ 3 -
О. Фанат *.bmp.
Ну тогда рисунко-хостинг стоит другой использовать :)
ЗЫ:
Ещё когда рисунок загружается можно увидеть что это *.bmp
ЗЫ:
Ещё когда рисунок загружается можно увидеть что это *.bmp
А зачем там вообще {$else}? Только путает и добавляет возможность ошибки.
Достаточно пар ${if_existing ...} - ${endif}.
Имей в виду, чтобы не было лишних переносов строк, когда ни одного интерфейса не найдено - продолжай конфиг сразу после ${endif}:
У меня вышеприведенный конфиг прекрасно работает.
Достаточно пар ${if_existing ...} - ${endif}.
Имей в виду, чтобы не было лишних переносов строк, когда ни одного интерфейса не найдено - продолжай конфиг сразу после ${endif}:
${if_existing /proc/net/route eth0}
Чивотатам${endif}${if_existing /proc/net/route wlan0}
Чивотатам${endif}${if_existing /proc/net/route ppp0}
Чивотатам${endif}
У меня вышеприведенный конфиг прекрасно работает.
За скриншоты в bmp — пять баллов. Ты понимаешь, что они весят по 1,8 метра штука, и грузится это дело оооооочень медленно… Юзай gimp и пересохраняй bmp в png (а лучше — сразу в png и снимай, если можно). Консольная альтернатива (если интересует) — imagemagic.
Теперь собственно по твоему вопросу: ветвление в conky реализуется так:
Обрати внимание на две вещи:
P.S. Я в курсе, что про bmp уже сказали, а второй комментарий как бы намекает на отсутствующие endif'ы — но надо же было кому-то подробно всё объяснить…
Теперь собственно по твоему вопросу: ветвление в conky реализуется так:
{$if_up имя_интерфейса}
выводим какую-то инфу
{$endif}
Обрати внимание на две вещи:
- в conky есть конструкция if_up, проверяющая, поднят ли интерфейс — у тебя это реализовано вручную
- каждому if_up должен соответствовать один endif. Собственно, всё — иди считай
P.S. Я в курсе, что про bmp уже сказали, а второй комментарий как бы намекает на отсутствующие endif'ы — но надо же было кому-то подробно всё объяснить…
И да, забыл добавить — существует отличный (фирменный!) список всех переменных conky (типа if_up, wireless_essid и проч.).
И ещё вопрос, как выводить качество связи по ppp0?
Не уверен, что для PPP/PPPoe соединений вообще существует понятие уровня, это же кабельные методы передачи. Но даже если я не прав, подходящих переменных в вышеупомянутом списке я не нашёл.
Имхо. Было бы проще засунуть все в bash скрипт и выводить через конки. Получается удобнее, и можно еще не раз использовать в других местах =>
ну это тоже самое по сути:
Такие же простые конструкции =>
Если интересно - http://www.opennet.ru/docs/RUS/bash_scripting_guide/
if < -x proc/net/route ppp0>; then
bla-bla-bla
else
bla-bla-bla
endif
Такие же простые конструкции =>
Если интересно - http://www.opennet.ru/docs/RUS/bash_scripting_guide/