Столовый декорСергей «grinder» Яремчук Хакер, номер #101, стр. 108 SuperKaramba: инструмент для размещения апплетов на рабочем столе KDEВ Linux существует множество способов приукрасить и сделать индивидуальным свое рабочее окружение. Перестройке поддается практически все. Можно изменить обои, значки, оконный менеджер, использовать 3D-окружение вроде XGL или AIGLX. Одним из интересных вариантов является SuperKaramba - программа для графического интерфейса KDE, позволяющая создавать на рабочем столе интерактивные приложения (widget). Получается не только очень красиво, но и весьма удобно, так как нужное приложение или индикатор всегда находится под рукой. Что такое SuperKarambaПервой ласточкой была Karamba (karamba.sf.net), созданная автором Хансом Карлсоном (Hans Karlsson). Она включала в себя ряд модулей и настраивалась исключительно с помощью конфигурационных файлов. Сейчас проект заброшен, последняя версия 0.17 датирована 14 апреля 2003 года. Но хорошие идеи зря не пропадают, и упавший флаг был вскоре подхвачен энтузиастами. Приблизительно так и возник проект SuperKaramba (netdragon.sf.net), совместимый по модулям с Karamba. Кстати, если до недавнего времени этот проект, можно сказать, развивался отдельно, то теперь он официально входит в состав последней версии KDE. Вообще говоря, SuperKaramba представляет собой стартовую площадку, которая сама по себе ничего не делает, да и не умеет. Все функции реализуются с помощью дополнительных модулей-апплетов. Имеющиеся сегодня модули позволяют управлять проигрыванием музыки и видео, показывать различную системную информацию, а также информацию из интернета (сводки новостей, погоды, наличие почты на сервере). С помощью SuperKaramba можно создавать панели различного назначения, выводить на рабочий стол небольшие игры. Установка SuperKarambaПакеты SuperKaramba присутствуют в репозитариях практически всех популярных дистрибутивов. Так, для установки в Kubuntu следует ввести «sudo apt-get install superkaramba». В AltLinux пакет называется kdeutils-superkaramba. После установки значок для запуска помещается в меню KDE. При первом запуске SuperKaramba появляется окно настройки, позволяющее установить апплеты. Апплеты представляют собой файлы с расширением skz (переименованный zip) или theme. Первые обычно включают в себя три составляющие: тестовый файл, в котором определен внешний вид .theme; скрипты на Python (.py), задача которых добавить интерактивность; графические ресурсы, используемые для украшения. Очень большой список апплетов находится на сайте www.kde-look.org. Самые популярные удобнее отбирать и загружать в самой SuperKaramba. В этом случае, чтобы получить апплет, необходимо нажать «Скачать апплеты», после чего появится окно, предназначенное для их выбора. В самом правом окне отображается краткая информация о выбранном апплете, а иногда и маленький экранный снимок. Для каждого апплета выводится номер версии и рейтинг, выставленный пользователями. Обрати внимание, что окно имеет три вкладки. В «Highest Rated» показаны апплеты, имеющие наибольший рейтинг, в «Most download» - наиболее часто скачиваемые, а в «Latest» - недавно вышедшие версии. Щелкнув по «Details», можно получить более детальную информацию. Нажатие на «Установить» закачает модуль. При этом файл скачивается в /tmp и затем запускается из него. Но учти, что этот каталог после перезагрузки будет очищен и модуль придется скачивать заново, поэтому к такому варианту следует обращаться только при ознакомлении с работой модуля. При постоянном использовании создай подкаталог superkaramba в /usr/share/kde/apps или в домашнем каталоге пользователя ~/.kde/share/apps. Далее, нажимаем «Локальный файл» и указываем на файл с расширением skz или theme, принадлежащий выбранному апплету. А можно просто дважды щелкнуть по нему в файловом менеджере Konqueror - при этом стартует SuperKaramba, которая загрузит его автоматически. Правда, при следующем запуске в списке известных апплетов его не будет, и придется повторять все сначала. Еще одним вариантом является перечисление всех апплетов в строке запуска superkaramba: $ superkaramba karss-03.skz Большую часть апплетов после запуска можно и даже нужно настраивать. Для этого щелкаем по нужному апплету правой кнопкой мыши и вызываем контекстное меню, в котором должен быть активным пункт «Настроить апплет». Чтобы расположить апплет в выбранном месте, просто схвати его мышкой и перетащи туда. Бывает, что это не удается :). Тогда в контекстном меню выбираем «Фиксированная позиция», чтобы изображение замка пропало, и после перемещения возвращаем замок на место. Кроме того, в рабочем каталоге пользователя имеется подкаталог .superkaramba. В нем после настройки апплета создается файл, в котором описывается его местоположение на рабочем столе и иногда задаются некоторые настройки. Ручное редактирование этого конфига может понадобиться в том случае, если апплет вдруг спрячется за другой апплет или выскочит за рабочий стол и его не получится достать мышкой. Чтобы остановить отдельный апплет, выбери «Убрать апплет». Полезные апплетыОписать все разнообразие существующих апплетов абсолютно невозможно, да и на сайте представлены далеко не все. Например, nanoramba2 - простой апплет, показывающий загрузку процессора, объем занятой оперативной памяти и swap, работу сетевого интерфейса. А wCPU умеет выводить только информацию о загрузке процессора. Тот, кому этого будет недостаточно, может попробовать GlassMonitor, который выдает значительно больше информации: имя узла и информацию о системе, загрузку процессора и его температуру, использование памяти, работу сетевого интерфейса, в том числе скорость и количество отправленных и полученных данных, свободное место на смонтированных разделах жесткого диска. В BuildAMon (Build Your Own System Monitor), который фактически состоит из двух апплетов, имеющих разный внешний вид, основной упор сделан на вывод информации о температуре компонентов компьютера и скорости вращения кулеров. В апплете donmon system monitor также показывается напряжение, выдаваемое блоком питания. Есть целая группа апплетов, предназначенная для работы с различными сервисами интернета. Например, true-nature, кроме системной информации, выводит данные о наличии писем в РОР3 или IMAP почтовых ящиках. Для того чтобы контролировать почтовые ящики, необходимо указать их параметры в файлах mails_pop3.pl и imap.pl, которые находятся в подкаталоге true-nature/programs. Например: my $account = 'my account at UA.FM'; my $ServerName = 'ua.fm'; my $UserName = 'grinder'; my $Password = 'my_password'; Если для обмена сообщениями ты пользуешься Kopete, то обрати внимание на апплет Skopete. Работать с такой парочкой приятнее. Тому, кто получает новости через каналы RSS, можно посоветовать karss. Для его работы нужен PyXML, который в KUbuntu устанавливается командой sudo apt-get install python-xml. После установки и первого запуска апплета необходимо зайти в каталог ~/.superkaramba/karss и отредактировать файл feedlist.xml, прописав в нем свои любимые RSS-каналы примерно так: <feed> <name>Slashdot</name> <URL>http://rss.slashdot.org/Slashdot/slashdot</URL> </feed> После этого требуется перезапуск апплета. А название Wikipedia search говорит само за себя. После его запуска достаточно ввести интересующее слово в появившемся окне, чтобы открылся веб-браузер с результатом поиска. Тот, кто часто заходит на Wikipedia, оценит удобство этого апплета. Популярностью пользуется апплет Liquid Weather (liquidweather.net), он имеет наивысший рейтинг. После его установки необходимо выбрать в контекстном меню «Настроить апплет -> Configure theme», а затем указать во вкладке «General» в выпадающем списке «Select Translation» русский язык и выйти из настроек. После повторного захода все подсказки будут на русском. Теперь в поле «Единицы» активируем «Использовать метрические», переходим во вкладку «Местность» и в строке поиска внизу вводим название своего города (на английском). Затем находим его в результатах поиска, нажимаем «Добавить в список» и активируем месторасположение в «Сохраненные города». После перезапуска Liquid Weather будет показывать погоду на ближайшие 5 дней. Обрати внимание, что еще есть вкладка «Веб-камеры». На рабочем столе очень хорошо смотрятся снимки космической тематики, взятые с сайта ridingwithrobots.org, - нужно лишь установить апплет Riding With Robots. Также есть апплеты, позволяющие управлять видео- и аудиопроигрывателями. Например, AmaroKKontrol, который не только позволяет управлять одноименным музыкальным проигрывателем, но и выводит рейтинг песни, рисунок альбома и системную информацию. Есть решения и с более простой функциональностью, вроде Simplarok или Mini-Amarok. Не менее полезен апплет Multi_Search, который представляет собой интерфейс к нескольким наиболее популярным настольным поисковым системам. Кроме одиночек, доступны и целые наборы апплетов. К примеру, AeroG. Его отдельные окна в виде шариков выводят каждый свою информацию, при этом некоторые апплеты дублируют друг друга. Так, есть 2 апплета, предоставляющих информацию о наличии почты на РОР3-серверах, но aeroG-mail-mini отслеживает только один ресурс, а aeroG-mail – два. Для редактирования параметров доступа открываем файл aeroG-mail(-mini).py и указываем их в строках server1, server2, servername1, servername2, username1, username2, password1 и password2. Другим подобным набором является TDE, который выводит в отдельных окнах сведения по загрузке системы, календарь, список зарегистрировавшихся пользователей, процессы, заметки, сетевую статистику и многое другое. Для запуска сразу всех модулей достаточно использовать файл all.theme. Создаем свою темуВладея простейшими навыками программирования, ты легко можешь создать свой апплет самостоятельно. Подробности ищи в документации проекта; также есть неплохой документ на русском языке - HOWTO_SuperKaramba (ru.gentoo-wiki.com/HOWTO_SuperKaramba). В принципе, ничего сложно здесь нет, просто нужно время и желание. Для удобства рекомендую скачать с сайта проекта файл-шаблон template.py (netdragon.sf.net/template.py) или использовать один из готовых апплетов. Переименовываем его в mytheme.theme и открываем в редакторе. Апплет может содержать следующие записи:
Кроме того, SuperKaramba имеет большое количество функций, неплохо помогающих в настройке. Итак, открываем свой любимый редактор и конфигурируем. Помни, мы имеем дело с Python, который не терпит лишних пробелов и табуляций. Нумерация строк приведена исключительно для удобства разбора и более никакой роли не играет:
Теперь разберем пример. В общем случае любой апплет может состоять из одной первой строки. Тогда будет выведено пустое окно шириной 120 и высотой 140 пикселей; интервал обновления для всех элементов составит 2000 мс; для представления информации будет применяться шрифт Sans белого цвета высотой 10. Для группировки отдельных элементов используются тэги <GROUP>, </GROUP>. Такой подход упрощает совместное перемещение, форматирование и оформление. Можно задействовать вложенные группы. Параметры x и y при объявлении группы указывают на горизонтальное и вертикальное положение ее верхнего угла. Чтобы выделить группу, можно использовать рисунок, изображающий ее назначение и подключающийся такой конструкцией: image x=5 y=5 path="system.png" В качестве альтернативы подключают заготовленный файл темы: theme path=1.theme В строках 3 и 4 вызываем датчик time, показывающий информацию о системном времени. Для форматирования вывода любого датчика используется функция format. Датчик имеет несколько параметров format, каждый из которых выводит результат по-разному. В нашем случае в первой строке время будет представлено в формате «14:13:09», а ниже будет идти дата «Вос 03.03.2007». В строке 5 показан вариант реакции апплета на щелчок мышкой по указанной области (если locked=false, то необходим двойной щелчок). В нашем примере будет запущен xterm, но это может быть любой исполняемый файл или скрипт с некоторыми параметрами. В группе 7/16 в поле апплета будет показываться системная информация. Строки 8, 9, 12 и 14 выведут текст, который будет использован для заголовка сенсора. А следующие строки активируют уже сами детекторы. В SuperKaramba имеются следующие детекторы:
Вывод любого датчика может быть в текстовом виде (text), либо для его оформления можно использовать один из индикаторов. Так, индикатор GRAPH в строке 11 будет показывать загрузку процессора в виде непрерывной линии. При применении индикатора BAR информация будет выводиться в виде строки статуса. Полоса рисуется с помощью картинки, переданной параметром path: bar x=0 y=0 w=10 h=200 vertical=true path="img.png" sensor=cpu Индикатор IMAGE покажет изображение в указанной позиции. Само изображение можно соединять с датчиком, либо просто выводить как украшение. Апплет A-FOTO, показывающий фотографии из указанного каталога прямо на рабочем столе, для вывода использует именно IMAGE. Примерно так: image x=10 y=10 interval=4000 sensor=program program="pictures.pl" Как видишь, ничего сложно здесь нет. Требуется лишь желание. Надеюсь, SuperKaramba тебе понравится. Конкуренты SuperKarambaК слову сказать, у SuperKaramba есть конкурент, работающий в среде GNOME Desktop Applets, - GDesklets (www.gdesklets.org). Он обладает практически такими же возможностями, но не ограничен работой только в одной среде. В настоящее время GDesklets функционирует в большинстве современных рабочих столов Unix, в том числе KDE и Xfce. Количество доступных десклетов здесь на порядок меньше, чем для SuperKaramba, но при этом и шансов запутаться меньше. Для того чтобы они были видны программе, их необходимо распаковать в каталог ~./gdesklets/Controls. Не стоит забывать и о GKrellM (members.dslextreme.com/users/billw/gkrellm/gkrellm.html), который имеет большое количество встроенных функций мониторинга (диск, сеть, память, процессор, время, почта) и множество плагинов на самые разнообразные темы. Для оконных менеджеров AfterStep, WindowMaker, FVWM и BlackBox док-приложения (dock-apps) можно взять на сайте dockapps.org. Здесь 6 категорий, в которых находится около 300 решений на все случаи жизни. |