Продолжение, начало см. в МК №№39, 41 (262, 264).

Начну не очень скромно, с рассказа о собственном продукте — пакете скриптов rox_scripts, которые можно взять в разделе Софт на http://www.roxton.kiev.ua. Вес — до 10 Кб.

Своим прогрессом человечество обязано обыкновенной лени. Людям стало лень учиться грамоте — изобрели спеллчекер. Было трудно запомнить таблицу умножения — появился калькулятор. Rox_scripts написаны тоже не от желания осчастливить мир, а исключительно по лени.

Пакет включает в себя целых 4 скрипта и подробную документацию, учитывая факт существования которой, я могу позволить себе не распространяться особо о своих скриптах, а просто сделать эдакий анонс. Архив rox_scripts следует куда-нибудь распаковать (в отдельную директорию) и сделать на каждый скрипт символическую ссылку, которую надо поместить куда-нибудь на «видное место», например в /usr/local/bin. И далее запускать скрипты как обычные команды Linux.

Скрипты, возможно, надо будет подправить в обычном текстовом редакторе для адаптации их конкретно под вашу систему и пользовательские нужды. По сути, я даю работающий шаблон — вы изменяете его для себя. Итак, какие же скрипты у нас есть?

mp — находит фильм на диске, вставленном в привод CD-ROM (должен работать какой-нибудь супермаунт) и запускает этот фильм с помощью плейера Mplayer. Если файл с фильмом маленький, скрипт справедливо полагает, что это заставка (знаете, бывают на некоторых дисках, вроде Digital Forge) и пропускает ее. Скрипт можно прикрутить к демону, следящему за вставкой в привод новых дисков — получится нечто вроде автостарта, как в Windows. Другой пример косвенного использования — совместно с CVoiceControl. CVoiceControl — популярная программа голосового управления компьютером. Допустим, я говорю в микрофон: «Кино», — и CVoiceControl любезно запускает скрипт mp. Очень впечатляет :-);

scd — управлялка скоростью CD-ROM'а. Ее работа зависит, разумеется, от того, поддерживает ли ваш сидюк смену скоростей. Скрипт является оболочкой другой команды —hdparm, которая найдется в каждом дистрибутиве Linux. Как использовать? Например, нужно установить скорость на 20. Даем команду scd 20 и наслаждаемся — скорость будет снижена через пару секунд.

ccd — этот скрипт вообще не имеет параметров, однако требует вмешательства в свой код — вы должны будете прописать в нем параметры своей CD-писалки. Скрипт делает ТОЧНУЮ копию диска, вставленного в CD-ROM, и записывает ее на болванку, которую вы должны заблаговременно поместить в писалку. Скрипт следует запускать на том разделе, где есть свободное место, ибо ccd при своей работе создает временную копию диска в текущей директории. А потом, после записи на болванку, стирает эту копию;

my_sign — скрипт удобной генерации пресловутой сигнатуры Сейчас играет для писем. Действует совместно с плагином к XMMS Смена песни. Напомню, если вы не в курсе, — этот плагин может передавать вовне название текущей песни. Допустим, во внешний файл. Но при выходе из XMMS в этот файл записывается строчка %s, вставка которой в ваше письмо ничуть его не украсит. Скрипт обходит эту проблему — он позволяет генерировать подпись с названием песни, если это название присутствует в файле, и БЕЗ названия песни и строки «сейчас играет», если названия песни нет.

Перейдем теперь к следующей программе нашего обзора —GJots (). Что можно сказать? Штука более чем полезная. Иерархичная записная книжка. То есть, записи в ней имеют вид дерева. Причем для названия каждой записи используется первая строка текста, содержащегося в этой записи.

Больше ничего интересного о GJots не сообщу, кроме того, что текст в ней хранить намного удобнее, нежели в каком-нибудь текстовом файле. Одна неприятная тонкость — в GJots нет автосохранения при выходе. А такая функция, на мой взгляд, для подобных программ просто необходима. Поскольку GJots — продукт открытый, я написал к нему крошечный патч (опять же, смотрите в разделе «Софт» моего сайта), который добавляет автосэйв. Чтобы применить патч, надо его распаковать в директорию gjots/src (разумеется, у вас должен быть исходник GJots, а не RPM-пакет), затем дать команду:

patch callbacks.c callbacks.diff

и, разумеется, перекомпилировать и установить заново проект (make, make install).

Однако с этим патчем текущий документ сохраняется при выходе в любом случае, хотите вы того или нет :-). Но хватит о GJots. Поговорим о другом — о Xbindkeys ().

Это демон (daemon), позволяющий в иксах ассоциировать любые команды с клавиатурными сочетаниями. Опции такой полезной штуки настраиваются через файл .xbindkeysrc (точка в начале означает, что файл скрытый). Файл очень простой и состоит из записей вида:

"команда в кавычках" сочетание клавиш.

Для примера приведу свой конфиг. Да, символ # расценивается как начало комментария:

#запуск kmail по Ctrl+Alt+2 "kmail" control+alt + 2 #запустить по Ctrl+Alt+1 звонилку KPPP, #которая начнет прозвон на аккаунт MyAccount #и выгрузится после ОКОНЧАНИЯ соединения "kppp -q -c MyAccount" control+alt + 1 #запустить браузер Opera по Ctrl+Alt+3 "opera" control+alt + 3

И так далее. Xbindkeys следует прописать куда-нибудь в автозагрузку конкретного Linux-аккаунта. Например у меня, работающего в Гноме, xbindkeys запускается из Центр Управления GNOME > Дополнительно > Сеансы > Запускаемые при старте программы.

Следом на очереди —Privoxy (http://www.privoxy.org), небольшой, но очень мощный и гибкий в настройке локальный прокси-сервер. Запускается в виде демона, настраивается через конфигурационные файлы (изменения в них автоматически отслеживаются самим демоном) либо через web-интерфейс на http://config.privoxy.org.

Даже с настройками по умолчанию Privoxy отлично режет рекламные баннеры (исходя из адресов и из размеров картинок), блокирует поп-апы, следящие счетчики и делает еще уйму чего, о чем повествует объемная документация (на английском, разумеется). И хотя часть функций Privoxy дублируется сейчас аналогичными функциями в таких браузерах как Opera или Mozilla/Firebird, использование локального прокси все-таки кажется мне более удобным, благо тот не привязан к конкретному браузеру.

Я специально запускал через Privoxy два браузера —Opera и Firebird, оба со включенной графикой. Скорость — примерно одинакова. Мне даже показалось, что Firebird был немного быстрее. Плагин AdBlock (тоже нечто вроде прокси) в Firebird'е я теперь отключил.

Подружить браузер с Privoxy очень просто — достаточно задать в настройках браузера адрес прокси (localhost либо 127.0.0.1) и его порт (8118). Любой браузер, способный работать через прокси, будет работать и с Privoxy. Который, кстати, существует в версии не только под Linux, но также и для Windows (95, 98, ME, 2000, XP), MacOS X, OS/2, AmigaOS, BeOS, FreeBSD, NetBSD, OpenBSD и Solaris.

Privoxy базирован на коде Internet Junkbuster (tm) () — прокси, который разрабатывается ярыми противниками непрошеной электронной рекламы и т.п. Junkbuster (tm) — тоже бесплатный продукт под лицензией GNU GPL. Правда, я его не пробовал, зато нашел на его сайте много интересной информации на тему защиты приватности в Сети.

Уместно будет затронуть и антивирусы. Clamav (http://clamav.sourceforge.net) — антивирус для Linux. Вернее, лечит-то он файлы системы, число вирусов для которой превышает 70 тысяч, а не десять штук :-), но делает это из-под пингвина. Я давно хотел поставить себе в Linux какой-нибудь антивирус, но лень было искать. А DoctorWeb качать не хотелось — я не знал, есть ли у того ограничения для *NIX-версий.

Короче говоря, приличный антивирус сам попал ко мне в руки вместе с четырьмя CD разного дополнительного софта к Mandrake, которые я заказал на lafox.net. Антивирус нужен мне для проверки, во-первых, почтовых вложений, а во-вторых, скачанных Windows-программ. Хотя последних я качаю все меньше и меньше. Вот недавно разве что вытащил любопытный древнегреческий словарь на 75 тысяч слов ()! Запускаю теперь его под Wine.

Итак, получается, что даже в системе, где нет вирусов, антивирус — штука полезная. Clamav — тем более. Он постоянно развивается, антивирусные базы обновляются как минимум раз в неделю. На момент написания этих строк число сигнатур в базе перевалило за 10 тысяч. Я понимаю, что это немного по сравнению с продуктами от Касперского, но... Что есть, то есть. Скоро будет больше! — если это вас утешит.

Кстати, обновлять базу в Clamav очень просто. Достаточно лишь дать команду freshclam — утилита сама скачает обновление и установит его. А запускается сам антивирус командой clamscan. При сканировании clamav умеет заходить в архивы (при наличии у вас программ распаковки).

По некой причине clamscan не понимает маски файлов, которые надо обрабатывать, и сканирует все подряд. При таком раскладе карт задачу поиска нужных файлов можно возложить на другую утилиту, например на find. Приведу не очень изящный, но работающий пример, чтобы вы словили суть:

find -path '*.exe' -exec clamscan '--disable-summary' '{}' ';'

Здесь мы каждый найденный экзишник передает в clamscan, а он смотрит его на предмет вирусов и выдает свое заключение — болен пациент или скорее жив, чем мертв. Придумайте что-нибудь лучше, повторяю: это плохой пример.

Обзор подходит к концу, как и альбом New World Disorder группы Biohazard, под который я пишу эту статью. Случайно купил его сегодня на Петровке за 6 гривен в какой-то коробке уцененных дисков. Принес домой, поставил и сразу пробило на сочинительство :-). Результат видите сами. А пока — до следующей подборки «must have»!