пятница, 25 февраля 2011 г.

Конки бывают разными.

Первый раз пытался установить конки пять лет назад, при окончательном переходе с Windows на Ubuntu. Если честно сказать, не понравились, они выглядели примерно так.






Какие то непонятные строчки, половина данных не выводилось, в общем забросил я это дело. Но, не знаю что, любопытство или мысли о том, что почему кто-то смог, а я, что хуже, явились причиной того, что я осилил всё, что было выложено о конки на сайте http://forum.ubuntu.ru/. Оказалось, что причина всех бед, отсутствие необходимых для работы конки программ. После того, как всё, что необходимо, было установлено, началось тихое помешательство. Конки это сравнимо, по моему мнению, с ремонтом. Раз начав уже не остановиться, пытаешься что то изменить, улучшить, сделать не так как у всех. Часами ползаешь по сети, находишь какие то скрипты, пытаешься воткнуть в свои конки, ну и конечно что то получается, что то нет, но иногда создаешь, как самому кажется "шедевр", Вот примерно такой

Но проходит время, и снова начинаешь искать, прикручивать, оттачивать коньки и это наверное никогда не кончится.

Немного о том, на каком железе я это делаю. Всё самое обыкновенное. Мать - ASUS , процессор - Core 2 6300 @ 1.86 GHz, видео - GeForse 9400 GT. ОС - Ubuntu 10.10, пробую и на Ubuntu - 11.04, но из-за временного отсутствия рабочих драйверов для NVIDIA, полной картины как всё это будет выглядеть, не получить. Conky 1.8.1, но всё работает и на более старых версиях. Кстати о переходе на Conky - 1.8.1. После перехода, из-за несовпадения версий питона, произошел сбой в выводе данных с помощью скриптов написанных на питоне. Это относится ко всем скриптам типа conkyForecast, conkyEmail и других, написанных kaivalagi, правда в своем блоге он сообщил об исправлении этих багов. Я практически не пользуюсь скриптами написанных на питоне из-за их повышенной нагрузки на процессор и память, но это основано только на моих наблюдениях и подтвердить, что это действительно так я не могу.

Для тех, кто хотел бы установить конки, но не знает как. Необходимо в терминале ввести команду

$ sudo apt-get install python-statgrab hddtemp curl lm-sensors conky-all

При установке, на все вопросы необходимо отвечать "ДА", по умолчанию просто жмите Enter, но необходимо быть очень внимательным, т.к. последний вопрос по умолчанию "НЕТ".

Выбираете в сети понравившиеся вам конки, лучше если они будут состоять всего из одного скрипта с названием .conkyrc, например такой

# main conkyrc by Boris Krinkel <olgmen>
# olgmen2@gmail.com
# --- параметры окна ---
# эти строки необходимы для нормальной работы лучше не изменять
own_window        yes
# для вывода фона раскомментировать следующую строку, установить цвет, в данный момент красный и в строке own_window_transparent прописать no
#own_window_colour ff0000
own_window_class Conky
own_window_transparent    yes
own_window_type    override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# следующие параметры можно изменять
# минимальный размер
minimum_size 300 550
# минимальная ширина
maximum_width 240
# --- расположение окна
# левый верхний угол экрана
#alignment top_left
# левый нижний угол экрана
#alignment bottom_left
# правый верхний угол экрана
alignment top_right
# правый нижний угол экрана
#alignment bottom_right
# расстояние между кромкой экрана и окном
# по горизонтали
gap_x 10
# по вертикали
gap_y 35

# --- графика окна ---
# если желаете выводить conky на другом фоне напишите yes
background no
# окантовка окна, бордюр
draw_borders no
# если бордюр yes
# длина штрихов бордюра, если 0, то бордюр выводится сплошной линией
stippled_borders 1
# толщина линий бордюра
border_width 1
# бордюр вокруг выводимых графиков
draw_graph_borders no
# включить тень?
draw_shades no
# окантовка вокруг текста и выводимых объектов
draw_outline no
# Добавить пробел?  Только для встраиваемых объектов
use_spacer right

# --- цвет ---
# основной цвет по умолчанию
default_color ffffff
# цвет тени
default_shade_color black
# цвет окантовки
default_outline_color ffffff
# дополнительные
color0 FFFF00
color1 white
color2 yellow
color3 red

# --- шрифты ---
# используемые шрифты X когда Xft не используется, можно выбрать один из следующих
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Используется ли Xft?
use_xft yes

# Шриф Xft когда Xft доступен, здесь можно ввести название и размер любого шрифта
xftfont Ubuntu:size=9

# яркость шрифта при использовании шрифтов Xft
xftalpha 0.75
# выводить весь текст прописными буквами
uppercase no
# использовать кодировку UTF8? ПРИМЕЧАНИЕ: требуется Xft
override_utf8_locale yes

# --- следующие данные необходимы для работы
# обновление в секундах не имеет смысла ставить больше 2
# при выводе времени в секундах необходимо значение 1 и менее
update_interval 0.5
# время работы программы до её выключения
# установите 0 для работы программы без остановки
total_run_times 0
# двойная буфферизация (требуется для flicker, может не работать)
double_buffer yes
# вычитать буферизацию файловой системы из используемой памяти?
no_buffers yes
# количество cpu
cpu_avg_samples 2
# number of net samples to average
net_avg_samples 2
imlib_cache_size 0
short_units yes
pad_percents 2
text_buffer_size 2048
imlib_cache_size 0

TEXT
${voffset -10}${goto 10}${font Ubuntu:bold:size=10}${color0}Linux System${font}${color}
${voffset 7}${goto 10}Distro${goto 90}:  ${exec lsb_release -d | sed -e 's/.*: //' | awk '{print $2,$3,$4}'}
${goto 10}Kernel${goto 90}:  ${kernel}
${goto 10}Cpu${goto 90}:  ${cpubar cpu0 7,100}${goto 210}${cpu cpu0} %
${goto 10}Ram${goto 90}:  ${membar 7, 100}${goto 210}${memperc} %
${goto 10}Swap${goto 90}:  ${swapbar 7, 100}${goto 210}${swapperc} %
${goto 10}Uptime${goto 90}:  ${uptime}
${voffset 7}${font Ubuntu:bold:size=10}${color0}${goto 10}Drive${font}${color}
${voffset 7}${goto 10}Home${goto 90}:  ${fs_free /home} ~ ${fs_size /home}
${voffset 7}${goto 10}${font Ubuntu:bold:size=10}${color0}Network${font}${color}
${voffset 7}${goto 10}Downspeed${goto 90}:  ${downspeedgraph eth0 7,80 FFFFFF 828282}
${goto 10}Upspeed${goto 90}:  ${upspeedgraph eth0 7,80 FFFFFF 828282}
${goto 10}Received${goto 90}:  ${totaldown eth0}
${goto 10}Send${goto 90}:  ${totalup eth0}
${voffset 7}${font Ubuntu:bold:size=10}${color0}${goto 10}Units${font}${color}
${voffset 7}${goto 10}Processor${goto 90}:  ${execi 4 sensors | grep 'CPU Temperature' | cut -c 21-27}
${goto 10}Hard disk${goto 90}:  ${execi 4 hddtemp /dev/sda |cut -c 34-38}
${goto 10}Processes${goto 90}:  ${processes}
${goto 10}Frequency${goto 90}:  ${freq_g} Ghz

сохраняете в домашней директории под названием .conkyrc и пытаетесь запустить командой в терминале


$ conky

Хорошо если все пройдет нормально и вы получите то, что ожидали, но иногда в терминале вываливается куча непонятных сообщений и ничего не получается. Отчаиваться не надо. В таких случаях я делаю так.

Останавливаю конки командой

$ killall conky

Открываю редактор GEDIT, загружаю скрипт .conkyrc, копирую его в файл с любым названием и удаляю всё, что находится ниже строки TEXT

Затем в строке

# окантовка окна, бордюр
draw_borders no

меняю no на yes для вывода рамки вокруг окна конки, и снова запускаю отредактированные таким образом конки. На экране монитора должна появиться рамка вокруг места, где расположено окно конку. Затем из скопированного файла переношу в созданный скрипт по одной строке, и слежу какие ошибки вываливаются в терминале. Но об этом я расскажу по позже, в следующем сообщении.

2 комментария:

  1. Спасибо. Весьма познавательно. С нетерпением жду продолжения. Хотелось бы видеть более детальное описание возможных параметров, исрользуемых в conkyrc.

    ОтветитьУдалить
  2. Как изменять размер окна conky? Хочу чтобы окно было по габаритам выводимой информации, а у меня окно вытянуто вправо ( http://s020.radikal.ru/i720/1406/4f/fa317a0d1199.png )

    ОтветитьУдалить