You are on page 1of 14

Электронное приложение «Open Source»

Колонка главного Новости мира Open Source


редактора Появился российский сайт Релиз Wine 1.0 стал по большей час-
о Linux-смартфонах тью формальностью, поскольку принци-
Начало лета приблизи- Начал свое существование LinuxPhone.ru – пиальных отличий от версий 0.9.x в нем
ло интернет-СМИ, пос- первый русскоязычный веб-ресурс, пол- нет. Это лишь отображение того факта,
вященные информа- ностью посвященный различным теле- что проект наконец-то «созрел» до оп-
ционным технологиям, фонам/смартфонам на базе свободного ределенного уровня и теперь по праву
(да и всю индустрию программного обеспечения и в особен- считает свой программный продукт ста-
в целом) к традицион- ности на основе операционной системы бильным.
ному состоянию спячки. с открытым кодом GNU/Linux. Критерий для Wine 1.0 был определен
Новости, конечно, есть, Время запуска данного проекта при- уже давно и заключался в том, что в этом
но их заметно меньше – причем как коли- урочено к моменту начала продаж Neo релизе должны безупречно работать та-
чественно, так и качественно: сенсаций FreeRunner и связано с тем, что уже сов- кие программы, как Adobe Photoshop
не видать, про ряд направлений и ини- сем скоро все желающие смогут увидеть CS2, Microsoft PowerPoint Viewer 97/2003,
циатив ничего не слышно... Но интерес- воочию это Open Source-устройство и на- Microsoft Word Viewer 97/2003, Microsoft
но на сей раз другое: нашлось приятное чать им пользоваться. На сайте публи- Excel Viewer 97/2003.
исключение. Частичка ИТ-индустрии, на- куются новости о проектах Openmoko, Уже 27 июня вышло первое обновление,
прямую связанная с миром FOSS, не же- Google Android, LiMo Platform, Motorola Wine 1.1.0, в котором появились и новшест-
лает присоединяться к своим собратьям MotoMagx, а также любая другая инфор- ва (в отличие от релиза 1.0). Среди них раз-
и затихать в жаркое время года. Она ско- мация, так или иначе относящаяся к ис- работчики выделили реализацию множес-
рее соответствует ему, демонстрируя на- пользованию GNU/Linux и FOSS на смар- тва функций gdiplus, улучшения в Richedit,
кал страстей, не скрываемых компания- тфонах/мобильных устройствах. поддержку окон HWND_MESSAGE, новые
ми-гигантами. Речь о рынке мобильных У ресурса вскоре также появилась ба- функции в MSHTML, начальную реализа-
устройств, а если быть точнее, то лишь за знаний Wiki.LinuxPhone.ru, цель кото- цию inetmib1 DLL.
об одном его компоненте – о смартфо- рой – создать усилиями Open Source-со-
нах. Здесь Open Source-движение во гла- общества единое и всеобъемлющее хра- Исходный код Symbian
ве с операционной системой GNU/Linux нилище информации по Linux-смартфо- собираются открыть
все более уверенной поступью идет на нам на русском языке. К ее наполнению Стало известно о серьезных переменах
тропу войны с традиционными закры- приглашаются все желающие. в лагере лидирующей на рынке мобиль-
тыми решениями, заполонившими этот ных устройств операционной системы: во-
сектор. В то время, как Motorola уже ни- Firefox 3.0 установил первых, исходный код Symbian будет от-
кого не удивляет, продолжая выпускать мировой рекорд крыт, а во-вторых, создана организация
Linux-телефоны, а Openmoko наконец-то 17 июня, ровно в 21:00 по московскому Symbian Foundation, которая будет зани-
начинает продажи своего первого мас- времени, было официально объявлено маться ее поддержкой. Эти шаги – оче-
сового Open Source-смартфона, о появлении новой финальной версии по- видная попытка сохранить свои лидирую-
LiMo Foundation собирается объеди- пулярного браузера с открытым кодом – щие позиции Symbian во время растущей
ниться с LiPS Forum, а вокруг Nokia об- Mozilla Firefox 3.0. конкуренции со стороны альтернативных
разуется альянс с целью открытия кодов Релиз Firefox 3.0 давно и широко осве- Linux-платформ, таких как LiMo Platform
Symbian. Кто-нибудь ждал революцию? щался в различных СМИ всех стран ми- и Google Android.
Она уже рядом. ра, благодаря чему о его новшествах уже Альянс Symbian Foundation создан
Главный редактор известно большинству пользователей, компаниями Nokia, Sony Ericsson, Motorola
Дмитрий Шурупов так или иначе интересующихся этим Open и NTT DoCoMo, поддержку которым так-
(osa@samag.ru) Source-продуктом. Подробности о пред- же оказали AT&T, LG Electronics, Samsung
ставленных в релизе изменений можно Electronics, STMicroelectronics, Texas
«Open Source» найти в статье «Обзор грядущего релиза Instruments и Vodafone. Все они задались
электронное приложение к журналу Firefox 3» («Open Source» 027). целью унифицировать программное обес-
«Системный администратор» К выходу Firefox 3 была приурочена печение Symbian, S60, UIQ и MOAP для со-
№28, 10 июля 2008 г. акция энтузиастов по установке миро- здания новой Open Source-платформы
вого рекорда по количеству скачиваний для мобильных устройств.
РЕДАКЦИЯ программы за 24 часа. И данная иници- Исходный код платформы будет досту-
Исполнительный директор атива прошла успешно: в установленном пен под лицензией на свободное програм-
Владимир Положевец рекорде значится более 8 миллионов за- мное обеспечение – EPL (Eclipse Public
Главный редактор качек (8 002 530). License). По мнению Symbian Foundation,
Дмитрий Шурупов «это позволит сделать код платформы до-
Верстка и оформление Состоялся долгожданный ступным для всех бесплатно, что привне-
Владимир Лукин релиз Wine 1.0 сет дополнительные инновации и привле-
Сайт электронного приложения: 17 июня, после 15 лет усиленной разработ- чет еще более обширное сообщество к бу-
http://osa.samag.ru ки, проект по созданию свободной (лицен- дущим разработкам».
За содержание статьи ответственность зия GNU LGPL) реализации WinAPI объ- Сообщается, что Symbian Foundation
несет автор. Все права на опубликован- явил о выпуске своей первой стабильной начнет свою деятельность в первой по-
ные материалы защищены. версии – Wine 1.0. ловине 2009 года.

№28, 10 июля 2008 


Электронное приложение «Open Source»
Xandros покупает Linspire ществом и на базе которого была созда- трибутива к релизам Gentoo. Среди из-
2 июля компания Xandros объявила о по- на система Ubuntu Linux, за несколько лет менений:
купке другого разработчика Linux-дис- добившаяся такого уровня популярнос-  обновленный инсталлятор (теперь он
трибутивов для пользователей дескто- ти на рынке Linux-десктопов, что сумела осуществляет только установки без
пов – Linspire. вскоре превзойти по этому показателю сети, используя пакеты и ebuild-дере-
Как известно, в Linspire создали CNR решения от Linspire и Xandros. во с LiveCD);
(Click-N-Run), сервис установки програм-  полностью переработанные профили
много обеспечения в Linux за один клик, Объявлено о выпуске (/usr/portage/profiles/);
и занимаются разработкой бесплатного Gentoo Linux 2008.0  переход на графическую среду Xfce
дистрибутива Freespire (при поддержке В начале июля состоялся финальный ре- вместо GNOME на LiveCD (для эконо-
сообщества) и его коммерческого вариан- лиз очередной версии Linux-дистрибути- мии места; впрочем, это ничуть не ме-
та – Linspire. В Xandros заявляют, что бла- ва Gentoo – 2008.0. Несмотря на то, что шает установить Gentoo с GNOME или
годаря объединению собственных техно- само понятие «релиза дистрибутива» KDE);
логий с разработками Linspire компании не очень характерно для данной систе-  отсутствие LiveDVD для архитектур
удастся существенно укрепить и расши- мы, разработчики регулярно делают го- x86 и amd64 (возможно, они появятся
рить свои позиции на рынке программно- товые срезы для того, чтобы из них мож- позже);
го обеспечения для десктопов. но было разворачивать новые установ-  переход на Linux-ядро 2.6.24.
Интересно, что и Freespire/Linspire, ки с Gentoo.
и Xandros основаны на единой платфор- В Gentoo Linux 2008.0 представлены Дмитрий Шурупов,
ме – Debian GNU/Linux. А Debian – это дис- существенные обновления, которые от- по материалам www.nixp.ru
трибутив, который разрабатывается сооб- разили перемены в подходе авторов дис- (osa@samag.ru)

Обзор OpenOffice.org 3.0 Beta: Развивая тему форматов в OpenOffice.


org, стоит упомянуть, что версия 3.0 под-
держивает новые возможности ODF вер-
что нового? сии 1.2, который еще не одобрен комис-
сией ISO. Среди них, например, приме-
Предыстория личного тестирования (http://marketing. нение цифровых подписей для докумен-
OpenOffice.org (http://www.openoffice.org) – openoffice.org/3.0/announcementbeta.html). тов и внедрение спецификации формул
это один из примеров успешного и распро- Скачать бинарные пакеты для разных для таблиц на основе OpenFormula (http://
страненного проекта ПО с открытом кодом, ОС, а также исходный код можно на http:// en.wikipedia.org/wiki/OpenFormula).
история которого начинается в 1999 году. download.openoffice.org/3.0beta (там до- Порадовали обновленный центр за-
Именно тогда небезызвестная компа- ступна и информация по установке). пуска и новые иконки, хотя внешний вид
ния Sun Microsystems приобрела офис- Отдельно стоит заметить, что рус- в целом никак не изменился. Центр запус-
ный пакет StarOffice (http://www.sun.com/ ской локализации для данной версии ка позволяет выбрать нужное приложе-
staroffice) у StarDivision, а позже, в июле нет, так что ознакомиться можно лишь ние из офисного пакета для запуска, от-
2000 года, открыла его исходный код, за- с англоязычным вариантом. Так как ус- крыть уже существующий документ или
пустив проект OpenOffice.org, сайт кото- тановка не соз-дала ни одного ярлыка использовать шаблон. Помимо этого, из
рого заработал через несколько месяцев. в Kubuntu 7.10 и Ubuntu 8.04 (в Windows- него можно, например, перейти на сайт
Первый релиз OOo (в виде сборки Build версии все ярлыки были созданы), запус- регистрации OpenOffice.org.
638c) появился еще через год. кать пришлось с помощью команды: Еще одним нововведением версии
Что касается настоящего, то следую- 3.0 является улучшенная поддержка XML
щий крупный релиз (3.0) проекта запла- /opt/openoffice.org3/program/sX и обновление фильтров, основанных
нирован на 2 сентября 2008 года. За ос- на XSLT. Теперь при экспорте в XHTML
тавшееся время разработчики собирают- где X – writer, calc, math, base, draw, impress, OpenOffice.org поддерживает сноски, про-
ся (http://wiki.services.openoffice.org/wiki/ office. странства значений и больше шести за-
OOoRelease30) успеть выпустить еще од- Итак, небольшой обзор основных головков. Кроме того, в будущем появит-
ну (вторую) бета-версию и кандидата в ре- (на мой взгляд) нововведений. ся возможность обновлять XSLT-фильтры
лиз, закончить все основные работы, под- как расширения, независимые от релизов
готовить локализации. Общие изменения в пакете самого OpenOffice.org.
Параллельно работают сообщества Пожалуй, наиболее значимым среди об- Среди исправлений и доработок воз-
по всему миру, в том числе и русскоязыч- щих новшеств стало внедрение импорта можностей, появившихся в версиях 2.x,
ные. Так, например, на сайте myooo.ru не- документов Microsoft Office 2007 (форма- следует упомянуть расширенную (но по-
давно была запущена инициатива по при- ты docx, xlsx и подобные). Лично для ме- прежнему ограниченную) поддержку VBA-
влечению пользователей к контролю за ня, при использовании в домашних усло- макросов, доработки в поддержке нес-
качеством справочного руководства Writer виях, это, скорее, приятное дополнение, кольких мониторов Impress, улучшенную
из OpenOffice.org 3.0. В планах охватить однако в деловой среде, конечно, ситуа- работу с Microsoft Windows Vista.
и другие приложения из пакета. ция совсем иная. Обновления, затронувшие отдель-
Впрочем, Writer пару раз бесповоротно ные приложения, в основном пришлись
Релиз OOo 3.0 Beta зависал при попытке открыть документ в на Writer и Calc, что логично: ведь чаще
В начале мая этого года вышла первая бе- формате docx, так что над импортом сто- всего приходится работать именно с тек-
та-версия OOo, предназначенная для пуб- ит еще поработать. стом и таблицами.

 №28, 10 июля 2008


Электронное приложение «Open Source»
Новое в Writer можность совмест-
Первое, что бросается в глаза при откры- ной работы над таб-
тии Writer, – это ползунок масштабирова- лицами нескольких
ния и иконки страниц в правом нижнем уг- пользователей в ре-
лу. Последние переключают режимы, поз- жиме общего досту-
воляя выбрать просмотр одной страницы па. Чтобы восполь-
(обычный режим), нескольких (в зависи- зоваться этим, для
мости от масштаба) по порядку и несколь- редактируемого до-
ких в книжном представлении. По-насто- кумента необходи-
ящему оцениваешь новую возможность, мо включить режим
когда сталкиваешься с форматировани- «Share», а д ля до-
ем многостраничных текстов. бавления данных
Второе – это переключение раскладок, других пользовате-
языка проверки орфографии в парагра- лей используется
фе из строки состояния, где расположен инструмент «Merge».
этот инструмент. Третье – это улучшен- Также обновили инс-
ные заметки (примечания): если раньше трумент Solver, схо-
они отображались в виде маленьких жел- жий по принципу ра- Новый центр запуска OpenOffice.org
тых прямоугольников без текста, то в но- боты с подбором па-
вой версии возможности расширились. раметра. Он создан для нахождения опти- Новое в других компонентах
Теперь они располагаются сбоку от стра- мальной формулы, содержащейся в ячей- В Impress и Draw улучшен инструмент
ницы и могут содержать текст (автомати- ке, путем изменения значений ячеек, ис- для обрезки изображений («crop»). По сло-
чески включаются дата и время создания). пользуемых в формуле. Solver можно ис- вам разработчиков, он стал более интуи-
Заметки от разных пользователей разли- пользовать и для нахождения экстрему- тивно понятным и способен повысить про-
чаются по цвету. В общем, на мой взгляд, мов целевой функции. К менее значитель- изводительность работы. С ними нель-
реализовано удобно: ничего не забудет- ным изменениям можно отнести увеличе- зя не согласиться: если раньше приходи-
ся и не потеряется. ние количества столбцов: с 256 до 1024. лось вручную указывать поля для обре-
Возможно, для кого-то это важно, но лич- зания в сантиметрах, то теперь это мож-
Новое в Calc но мне всегда с лихвой хватало и преж- но выполнить и с помощью мыши, просто
В OpenOffice.org 3.0 Calc появилась воз- них ограничений. сдвигая границу. Impress избавился от за-

OpenOffice.org 3 Writer

№28, 10 июля 2008 


Электронное приложение «Open Source»
висимости от Calc при создании таблиц: как уже сообщалось выше, не всегда не произошла ассоциация файлов с при-
теперь их можно создавать и редактиро- получалось импортировать документы ложениями офиса.
вать в самом приложении без запуска ре- MS Office 2007. Привести Writer к краху
дактора Calc. мне удавалось и другим путем: зажав со- Итоги
Это далеко не всё, что предлагает нам четание <Ctrl> + <Z> после редактирова- Никакой революции версия OpenOffice.org
новая версия OpenOffice.org. Подробнос- ния текста и создания примечания (замет- 3.0 для нас не приготовила: открытый
ти доступны на http://marketing.openoffice. ки). Кстати, после восстановления доку- офис постоянно эволюционирует, пред-
org/3.0/featurelistbeta.html. мента можно отправить отчет об ошиб- лагая новые возможности для своих
ке в Sun. действующих и потенциальных пользо-
Недостатки Из менее существенного можно на- вателей.
OpenOffice.org 3.0 Beta помнить про отсутствие поддержки рус-
Beta-версия получилась достаточно «сы- ского языка и, как следствие, кавычек из Никита Лялин
рой»: за время работы встречались про- кириллицы, а также тот факт, что после ус- (tinman321@gmail.com)
блемы разного характера. Например, тановки программы в Windows почему-то

FOSS Review 004


жественным интерфейсом. И им удалось:
уже с ранних версий программа доказыва-
ет это. Присутствует поддержка X-стату-
Gufw qutIM сов, передача файлов, приватные списки,
 Версия: 0.0.6.  Версия: 0.1. защита от спама и многое другое. Оста-
 Лицензия: GNU GPL.  Лицензия: GNU GPL. ется только пожелать разработчикам про-
 Размер: 1.4 Мб (tar.gz).  Размер: 360 Кб (tar.bz2). должать писать и часто радовать пользо-
 Сайт: http://gufw.tuxfamily.org.  Сайт: http://qutim.org. вателей новыми релизами.

IPTables – очень мощное средство Довольно часто я слы-


для конфигурации брандмауэра, но син- шу от новичков жалобы на
таксис его команд довольно сложен то, что для Linux нет нор-
для понимания неопытных пользовате- ма льных ICQ -к лиентов
лей. Разработчики Ubuntu Linux реши- (сам я так, конечно, не счи-
ли исправить ситуацию и написали ufw – таю). На вопрос о том, что
это консольная оболочка для стандартно- же такое нормальный ICQ-
го брандмауэра netfilter. Gufw – простой клиент, отвечают, что та-
графический интерфейс для ufw. Сущест- кой, как QIP. И вот совсем
вует два режима работы: запрещать весь недавно появилась про-
входящий трафик или разрешать. Мож- грамма, которая является
но добавлять правила, разрешая или за- практически клоном од-
прещая соединения по конкретному пор- ного из самых популярных
ту или IP-адресу. Gufw позволит также IM-клиентов для Windows.
создавать правила, касающиеся диапа- qutIM – клиент ICQ, напи-
зона адресов. Программа написана на санный на модной ныне
GTK+ и во время работы прячется в сис- библиотеке Qt 4. Разработ-
темном трее. Проект активно развивает- чики задались целью на-
ся и, похоже, скоро войдет в стандартную писать нетребовательный
поставку Ubuntu. к ресурсам клиент с дру- Gufw

qutIM Tasque

 №28, 10 июля 2008


Электронное приложение «Open Source»

KGmailNotifier

с виртуальными коробочками, что и удоб-


но, и красиво.
Еще одна интересная функция про-
граммы – сбор информации о том, кому и
на какой срок вы дали послушать/посмот-
реть/поиграть диск или дали почитать кни-
гу: GCstar покажет всех должников.

KGmailNotifier
 Версия: 0.4.0-rc2.
 Лицензия: GNU GPL.
 Размер: 495 Кб (tar.bz2).
GCstar  Сайт: http://www.kde-apps.org/content/
 Размер: 2.4 Мб (tar.gz). show.php/KGmailNotifier?content=
Tasque  Сайт: http://www.gcstar.org. 55375.
 Версия: 0.1.6.
 Лицензия: GNU GPL. У вас много музыкальных дисков Многие пользователи почтовых ящи-
 Размер: 563 Кб (tar.gz). или фильмов на DVD? Вы забываете, ко- ков Gmail предпочитают сторонним
 Сайт: http://live.gnome.org/Tasque. му что даете «посмотреть», или просто за- почтовым клиентам online-интерфейс.
путались в своей коллекции? Вам на по- KGmailNotifier поможет отслеживать но-
Простое приложение для управления мощь придет GCstar – программа-катало- вые сообщения, не открывая браузер.
списком задач. Предназначена для тех, гизатор. С ее помощью можно вести ба- Программа располагается в системном
кому не нужны громоздкие программные зу музыкальных дисков, фильмов, виде- трее и регулярно проверяет почтовый
пакеты вроде Evolution. Кстати, разработ- оигр, книг и многого другого. ящик. Если вам пришли новые сообще-
ка Tasque, как и в случае Evolution, спон- Программа так же позволяет самому ния, она оповестит об этом всплываю-
сируется компанией Novell. Можно вести определить, что коллекционировать. Ин- щим окошком.
три типа списков: локальный файл, список формацию о фильме, книге или альбо- Как понятно из названия, програм-
в Evolution Data Server или же брать задачи ме можно получить из Интернета. GCstar ма написана для использования в сре-
с сервиса RememberTheMilk.com. позволяет сортировать и искать объекты де KDE, однако существует и версия для
по многим признакам. Для каждого объ- GNOME.
GCstar екта можно обозначить категорию и при-
 Версия: 1.4.0. своить метки, выставить оценку. Пред- Роман Комков
 Лицензия: GNU GPL. меты могут быть показаны в виде полки (r.komkov@gmail.com)

Полезные дополнения
талог, которому, кстати, можно самому на-
значить расположение. Но всё остальное
Scrapbook берет на себя. Страницы он со-

для Firefox храняет в UTF-8, поэтому работает полно-


текстовый поиск по всей базе сохранен-
ных страниц. Поисковых функций вообще

Б
лагодаря поддерживаемой веб-бра- Зачастую хочется сохранить на дис- много: и по заголовкам, и по регулярным
узером Firefox технологии XUL до- ке какую-нибудь веб-страницу. Обычно выражениям – как угодно. Страницы до-
полнения встраиваются таким об- все происходит так: сохраняете в некий ступны из панели вроде Закладок, поме-
разом, что и не отличишь, где основная каталог, потом он захламляется, а уда- щаемой слева в окне Firefox, либо из ме-
программа, а где – дополнение. Я рас- лять старое лень – в результате количест- ню Scrapbook в главном меню. Последний
скажу о тех расширениях, которыми сам во мусора в вашей системе растет, как пункт я советую отключить (в настройках
пользуюсь и без которых не представляю на загородной незаконной свалке. Кро- Scrapbook на вкладке «Основные» сни-
удобной работы в сети. ме того, потом в таком хаосе трудно что- мите галочку с «Показывать в панели
либо найти. меню»): если у вас достаточно большой
Scrapbook Scrapbook – это дополнение, позволя- список заголовков сохраненных страниц,
 Сайт: http://amb.vis.ne.jp/mozilla / ющее сохранить страницу или выбранный то открытие его из меню (что бывает да-
scrapbook. фрейм в хранилище самого Scrapbook. Ко- же случайно, по неосторожному движе-
 Поддержка версий Firefox: 2.0-3.0. нечно, физически это тоже отдельный ка- нию мыши) может затянуться не на один

№28, 10 июля 2008 


Электронное приложение «Open Source»
Со временем ба- У кнопки также есть выпадающий спи-
за разрастается. Уз- сок, где можно задать поведение плаги-
нать подробно объ- на. Например, можно выбрать загрузку
ем, занимаемый изображений только из кэша. Есть окно
каждым из ее эле- настроек, а в нем фильтры, по синтакси-
ментов, можно че- су схожие с AdBlock – поддерживаются
рез меню «Инстру- регулярные выражения. Впрочем, если
менты» – там же до- установлен AdBlock, не вижу надобнос-
ступны такие функ- ти в фильтрах еще в ImgLikeOpera. Когда
ции, как, например, вы смотрите страницу с выключенными
сортировка запи - изображениями, можно подгрузить нуж-
сей, их восстановле- ное вам, использовав пункт «Загрузить
ние в случае какой- изображение» контекстного меню или
то ошибки (за пару сделав на пустом прямоугольнике заме-
лет использования нителя картинки щелчок мыши, удержи-
Scrapbook плагина у меня та- вая при этом <Ctrl>.
кого не случалось). Прим. ред.: Хотя формально Firefox 3.0
десяток секунд. Во всяком случае, в GTK- Scrapbook полностью русифицирован. Ес- не поддерживает ImgLikeOpera, расшире-
сборке под Linux это происходит именно ли возможностей Scrapbook вам покажет- ние в нем нормально функционирует.
так. Под Windows не знаю – не пробовал: ся мало, на сайте этого дополнения вы най- Для того, чтобы убедиться в этом, надо
там у меня в Scrapbook почти ничего нет. дете плагины уже к самому Scrapbook – то- лишь «обмануть» менеджер расширений
Страницы помещаются в Scrapbook же на основе XUL-технологии. в Firefox. После скачивания imglikeopera-
вместе с картинками. Потом всё это до- x.x.x-fx.xpi нужно найти в нем файл
ступно для сохранения вне базы (создает- ImgLikeOpera install.rdf и исправить значение макси-
ся каталог с файлами/директориями для  Сайт: http://imglikeopera.mozdev.org. мальной допустимой версии (maxVersion)
всех/выбранных сохраненных в Scrapbook  Поддержка версий Firefox: 1.5-2.0. с 2.0.0.* до 3.0.0.*. После сохранения это-
страниц). Элементы списка можно распо- го изменения в install.rdf данный файл .xpi
лагать в виртуальных каталогах и пере- С давних пор в Opera есть вещь, ко- можно установить в FF3 и пользовать-
мещать. Здесь есть и неудобство: на бо- торой завидовали пользователи других ся плагином.
ковой панели нельзя удалить несколько браузеров – это кнопка, переключающая
элементов. Это делается иначе: «Инстру- отображение картинок. Теперь подоб- Web Developer
менты (на панели Scrapbook) → Управле- ную функцию можно добавить и к Firefox –  Сайт: http://chrispederick.com/work/
ние каталогами», и там удаляется массо- с помощью расширения ImgLikeOpera. web‑developer.
во в нужном количестве. Я не зря написал «подобную». В Opera  Поддержка версий Firefox: 2.0-3.0.
Если углубиться в дебри Scrapbook, если вы открыли страницу с картинка-
можно найти много других интересных ми, а потом нажали кнопку выключения Это дополнение будет хорошим под-
вещей. Например, способность сохранять картинок, то изображения сразу пропа- спорьем для веб-дизайнера – впрочем,
целые сайты, сохраняя их структуру. Де- дут. В ImgLikeOpera этот фокус не прохо- не только для него. После установки до-
лается это через обычное контекстное ме- дит: после нажатия на кнопку, всё, что уже бавляется инструментальная панель
ню Firefox, где, кроме всего прочего, пос- загружено, так и остается перед вашими и меню, повторяющее функции элемен-
ле установки Scrapbook появляется пункт глазами. В чем же секрет? Плагин не ра- тов панели.
«Захватить веб-страницу как» для тонкой ботает? Работает, только в эдаком «пред- Расскажу о наиболее любопытных
настройки захвата. И там обратите внима- варительном» режиме. Если нажать кноп- функциях. Можно включать и выключать
ние на раздел «Многоуровневый захват» ку, а потом загрузить страницу, то карти- элементы веб-страницы: картинки, скрип-
и опцию «Уровень глубины захвата ссы- нок не будет. ты, CSS. Можно убрать переопределен-
лок» в нем. Помимо предустановленных
уровней можно нажать на кнопку с изоб-
ражением двойной кавычки – тогда от-
кроется диалоговое окно с полем ввода,
где вручную задается требуемая глубина
захвата. В том же окне настроек захвата
указываются составные части страницы:
что именно нужно сохранять кроме текс-
та (картинки, стили, скрипты), а также –
сохранять ли по ссылкам звук, картинки,
видео, архивы и прочие файлы.
Scrapbook не просто хранит стра-
ницы, но дает вам возможность писать
к ним комментарии, размечать цветами
и так далее. Кроме того, отдельные тек-
стовые заметки можно держать в списке
Scrapbook, вместе с сохраненным стра-
ницами. Tabmix Plus

 №28, 10 июля 2008


Электронное приложение «Open Source»
ные веб-дизайнером цвета. В отладоч- ки? С нее нельзя
ных целях для форм ввода можно вклю- перейти к уда-ли-
чить отображение паролей. Много настро- бо по ссылке – вер-
ек для графики: показывать рядом с кар- нее, документ, на
тинкой ее размер в килобайтах, разреше- который указыва-
ние, имя файла, атрибут Alt. Есть даже по- ет ссылка, автома-
иск «битых» изображений. тичес к и отк роет-
С помощью функции Document size ся в новой вклад-
можно получить «вес» документа, учиты- ке, а сама забло-
вая использующиеся на странице файлы кированная вклад-
стилей, картинки, скрипты и объекты – ка останется неиз-
причем данные по этому делу доступны м е нной. Ее мож-
в древовидной форме. В отдельное окно но только перезаг- Bandwidth Meter and Diagnostics
по желанию выводятся (хотя без подсвет- рузить, нажав на
ки синтаксиса) все скрипты, прописан- кнопку обновления. Удобное дополнение для скачивания
ные в документе. Web Developer оснащен  В настройках дополнения доступен мультимедийных данных с веб-страницы –
функцией изменения размера окна брау- выбор, как открывать (во вкладках или в частности, видео с YouTube. При посе-
зера к нужному вам разрешению. Кроме окнах) разного типа ссылки: всплыва- щении станицы, на которой есть ссылки
того, есть режим Small screen rendering ющие окна, уменьшенные всплываю- на видео, Download Helper помещает пря-
(в меню Miscellaneous) – по идее, именно щие окна, ссылки, которые должны мые ссылки на скачивание в кнопку-меню
в таком режиме пользователи мобильных быть открыты в новом окне, и тому по- рядом с полем ввода адреса. Выбрав та-
телефонов увидят ваш сайт. добное. Можно даже задать поведение кую ссылку из списка, вы скачаете файл.
Из меню Tools открывается еще полез- браузера, если некая внешняя про- Поддерживается не только формат-кон-
ный список разных «проверяльщиков»: грамма хочет открыть в Firefox ссыл- тейнер FLV, но и другие популярные фор-
HTML, CSS и так далее – включая провер- ку. Перечислять все опции Tabmix Plus маты файлов вроде AVI, MPEG и так да-
ку ссылок на доступность. Все эти сред- невозможно – их слишком много, и они лее. Подобным образом можно скачивать
ства используют сетевые сервисы вроде так подробно раскладывают интер- и изображения – есть для этого настрой-
validator.w3.org. К этому списку валидато- фейс табового движка Firefox по кос- ки в окне управления Download Helper,
ров можно добавлять и свои пункты. точкам, что каждый сможет подогнать а в кнопке-списке появляется элемент
его под свои нужды наилучшим обра- «All links to media files». Его выбор его при-
Tabmix Plus зом. водит к тому, что вам предлагают сохра-
 Сайт: http://tmp.garyr.net.  Новые кнопки-списки для панели инс- нить файл с загадочным именем medialink.
 Поддержка версий Firefox: 1.0-3.0*. трументов. Например, из списков за- В итоге сохраняется всё же картинка. Как
крытых вкладок и закрытых окон мож- бы ни было, Download Helper удобен в пер-
Это одно из тех дополнений, про ко- но быстро открывать недавно закры- вую очередь для скачивания видео, а осо-
торые после установки не задумываешь- тые страницы сайтов. бенно тем людям, которые хотят скачивать
ся, но без них уже и браузер воспринима- с YouTube, однако не собираются устанав-
ется как лишенный важной своей части. В Opera есть (хотя и отключенная по ливать у себя Flash-плагин.
Tabmix Plus расширяет возможности движ- умолчанию) удобная общая кнопка за-
ка вкладок Firefox. Причем «расширяет» крытия вкладки. Tabmix Plus добавляет Image Zoom
всерьез: появляется около сотни новых ее в Firefox. То есть, в углу справа от всех  Сайт: http://imagezoom.yellowgorilla.
функций и элементов настройки. Трепет корешков вкладок появляется кнопка, за- net.
внушает даже PDF-руководство  плаги- крывающая текущую вкладку. Еще уста-  Поддержка версий Firefox: 2.0-3.0.
ну, которое доступно на его сайте – в нем новить наименьшую и наибольшую ши-
52 страницы. рину корешков вкладок, а также их авто- Вроде бы и совершенно не нужно мас-
Из наиболее часто используемых матическое выравнивание. В Tabmix Plus штабировать картинки с веб-страниц, од-
функций Tabmix Plus выделю следую- есть свой менеджер сессий: в настрой- нако на практике бывает, что нужно по-
щие: ках вы можете выбрать, использовать ли казать эти картинки кому-то, кто сидит
 Копирование текущей вкладки в но- его или стандартный от Firefox. Замечу, не за монитором, а в отдалении. Или хо-
вое окно. Полезно, когда у вас в од- что когда в окне настроек Tabmix Plus на чется рассмотреть получше фотографию
ном окне открыто очень много стра- вкладке «Сессии» стоит галочка на «Ис- какого-нибудь товара в интернет-магази-
ниц и переключаться между ними ста- пользовать встроенную функцию восста- не, а фотография такая, что невооружен-
ло неудобно. А так – скопировали себе новления сессий», то речь идет о движке ным взглядом ее трудно понять. Вот и при-
вкладку в отдельное окно и работае- Firefox. Для замены его на движок сессий ходится устанавливать Image Zoom.
те дальше. Делается это из контекст- Tabmix Plus, снимите эту галочку. Image Zoom добавляет для контекстно-
ного меню для корешка вкладки, с по- В Firefox 3.0 нормально функциониру- го меню, выдаваемого при правом щелчке
мощью пункта «Клонировать в новом ет разрабатываемая версия плагина, ко- мышью на картинке, новые пункты в под-
окне». торую можно найти по этой ссылке: http:// меню «Изменить размер». Собственно,
 Вкладку можно защитить и заблокиро- tmp.garyr.net/tab_mix_plus-dev-build.xpi. пункты эти довольно однотипные – просто
вать (из того же меню). Защищенную разные предварительные установки мас-
вкладку нельзя закрыть, пока не сни- Download Helper штаба. Но ничего больше и не требуется.
мете с нее атрибут защиты. В чем  Сайт: http://www.downloadhelper.net. Есть также весьма основательное и пере-
отличие заблокированной вк лад-  Поддержка версий Firefox: 1.5-3.0. веденное на русский язык окно настроек.

№28, 10 июля 2008 


Электронное приложение «Open Source»
Для не совсем понятных целей предус- Оба дополнения полезны не только дартными для dial-up, ISDN, DSL и тому
мотрено окно, позволяющее задать кар- при заходе на сайты, отягощенные скрип- подобным.
тинке произвольные размеры по вертика- тами, но и при изучении поведения разных Плагин очень полезен для проверки
ли и горизонтали. Разве что если вы осо- назойливых программ, которые, как из- соединения и скорости, но, конечно, он
бо ненавидите соотношение сторон лого- вестно, любят направлять браузер куда показывает не просто наибольшую воз-
типа какого-нибудь сайта. не следует. можную скорость, а таковую при соеди-
Очевидно, что функции обоих до- нении с сервером Bandwidth Meter and
Quick Java, Yes Scripts полнений следует соединить на радость Diagnostics. В случае каких-либо трудно-
 Сайт: http://quickjavaplugin.blogspot. пользователям, либо вообще поместить стей со скачиванием или передачей дан-
com и https://addons.mozilla.org/en-US/ в Firefox. ных в Firefox дополнение показывает стра-
firefox/addon/4922. ницу-окно с кнопками для утилит: разного
 Поддержка версий Firefox: 1.5-3.0. Bandwidth Meter рода ping, трассировка и другое.
and Diagnostics
Поскольку эти два дополнения несут  С а й т : h t t p: //ex t e n s i o n h o l i c .c o m / Вместо заключения
сходные функции, описываю их вместе. speedtest.html. Firefox слишком прост – вы не находите?
Они оба видны как кнопки на панели со-  Поддержка версий Firefox: 1.5-2.0. Пара-другая встроенных плагинов вро-
стояния. Отличия же таковы. де AdBlock не отяготила бы программу,
Quick Java выключает или включает Представляет собой окно с двумя фун- и в то же время пришлась бы по душе мно-
JavaScript-скрипты и Java (под это дело – кциями: проверить скорость скачивания гим людям. Что стоит добавить ту же кноп-
две отдельные кнопки-переключателя) на и заливки. В Windows доступны также ку отключения картинок? Или кто-то среди
текущей странице. функции подробной проверки broadband- разработчиков считает, что нам не нужна
Yes Scripts выключает или включает соединения, а под Linux они просто не ра- такая кнопка, входящая в состав браузе-
JavaScript-скрипты, не трогает Java, од- ботают, поскольку используют функции ра? Не понимаю...
нако позволяет добавлять сайты в черный Win API. В результате работы плагина вы-
список. С сайтов из этого списка скрипты дается красивая сравнительная таблич- Петр Семилетов
загружаться не будут. ка вашей скорости в сравнении со стан- (tea@list.ru)

Шифрование диска в Linux тери производительности при чтении/за-


писи. После размонтирования устройства,
естественно, файловая система на носи-
средствами loop-AES теле остаётся зашифрованной и недо-
ступной для обычного монтирования дис-
Предисловие Средства и принцип работы ка. Как видно из названия, используется
В нашем современном мире защита ин- В статье рассматривается ядро операци- один из лучших алгоритмов шифрования
формации играет немалую роль. Осо- онной системы GNU/Linux (преимущес- в настоящее время – AES (Rijndael). Также
бенно если дело касается важных или твенно, 2.6), для которого в своё время доступны модули с использованием алго-
секретных данных. Данная статья позна- был разработан модуль, позволяющий ритмов Blowfish, Serpent, Twofish. Длина
комит вас с одним из способов их защи- «на лету» шифровать данные, записыва- ключа варьируется от 128 до 256 бит.
ты. Все мы люди, и ни для кого не секрет, емые на жёсткий диск. Основа работы та-
что иногда попадаем в самые разнообраз- кого алгоритма уходит далеко к корням Необходимый
ные ситуации. создания псевдоустройства «loop device» инструментарий
Например, человек в аэропорте ос- («loopback device», vnd (vnode disk) или  В первую очередь понадобится рабо-
тавляет ноутбук на пару минут для того, lofi (loopback file interface)) в UNIX-подоб- чее ядро Linux (2.0-2.6) с отключен-
чтобы выпить чашечку кофе. По возвра- ных операционных системах. Оно нахо- ным модулем loop (CONFIG_BLK_DEV_
щении он констатирует факт кражи этого дится выше уровня диска, и раздел на LOOP=n). Он будет заменён на модуль
устройства. Конечно, если на нём кроме нём представляет собой виртуальное ус- с тем же самым названием, но с рас-
семейного альбома ничего другого не бы- тройство – некую прослойку между фай- ширенным функционалом loop-AES.
ло, то цена стоимостью ноутбука будет яв- ловой системой и самим физическим но-  Небезызвестный GnuPG (http://www.
ляться платой за невнимательность и не- сителем. Таким образом, все данные, ко- gnupg.org), а также sharutils (http://www.
расторопность. Однако зачастую не та- торые записываются на физический диск, gnu.org/software/sharutils) – для генери-
кие люди оставляют подобную технику проходят через это устройство. Подобный рования ключей, которыми будут за-
без присмотра, а те, у кого с ней плот- подход используется при создании реше- щищены псевдоустройства.
но связана работа или собственное дело. ний RAID. Большинству же это устройс-  С а м l o o p - A E S ( h t t p : / / l o o p - a e s .
Поэтому «подаренный» бизнес-план мо- тво знакомо по монтированию ISO-обра- sourceforge.net/loop-AES).
жет обернуться скорее убытками неже- зов (mount -o loop -t iso9660 /path/to/image.  util-linux (ftp://ftp.kernel.org/pub/linux/
ли прибылью, если, конечно, мошенники iso /path/to/folder). utils/util-linux) или util-linux-ng (ftp://ftp.
не собираются сдать этот «подарок судь- И т а к , l o o p - A ES (ht t p: // l o o p - ae s . kernel.org/pub/linux/utils/util-linux-ng).
бы» на металлолом. sourceforge.net) – это модифицированная
Под впечатлением от подобного со- версия модуля loop для Linux-ядра. На ста- Если планируется шифровать
общения потерпевшего (пользователя дии передачи данных от псевдоустройс- т а к же и о с н о в н о й (ко р н е в о й) р а з -
OpenBSD) в одном из списков рассылки тва к реальному этот модуль позволяет дел на жёстком диске, то ну жно бу-
и была написана эта статья. их шифровать с минимальной долей по- дет установить ещё программу aespipe

 №28, 10 июля 2008


Электронное приложение «Open Source»
(http://loop-aes.sourceforge.net/aespipe) и dietlibc (http://www.fefe. приведет к созданию и шифрованию раздела/файла подкачки.
de/dietlibc) для создания и использования образа initrd (init RAM Проверить, так ли это, можно командой «losetup -a», она долж-
disk) и достать образ LiveCD-дистрибутива, в котором бы бы- на вывести примерно следующее:
ла поддержка нужных файловых систем, используемых в теку- /dev/loop/6: [000d]:3804 (/dev/sda2) offset=4096 encryption=AES128
щей рабочей системе. multi-key-v3

Приступая к работе
Основное условие, которое следует выполнить перед нача- Шифрование пользовательского раздела
лом работы, – это сделать резервные копии всех важных дан- Основные «личные» данные всё же хранятся в домашнем ка-
ных (особенно если в дальнейшем будет зашифрован основ- талоге пользователя, который, в свою очередь, часто бывает
ной раздел). расположен на отдельном разделе жёсткого диска (чаще все-
Пересборка ядра необходима, потому что нужно убрать стан- го /home). Далее будет показано, как можно зашифровать раз-
дартную поддержку loop-устройства (если она включена в виде дел /home, хотя этот алгоритм подойдёт и для любого другого
модуля или встроена в ядро) и обеспечить соответствие текущего (за исключением основного, т.е. /).
ядра ветке исходников (обычно это /usr/src/linux). Итак, для это- Сначала нужно перенести все данные на другой раздел/
го нужно поставить в конфигурационном файле ядра константу носитель/компьютер, т.к. структура раздела будет уничтоже-
CONFIG_BLK_DEV_LOOP, равную «n», и пересобрать его. на. Затем генерируется ключ, с помощью которого будет осу-
Затем следует этап пересборки пакетов util-linux (until-linux- ществляться доступ к разделу. Здесь используется симметрич-
ng) с предварительно применённым патчем loop-AES, который ный ключ (флаг --symmetric), а в противном случае понадобит-
можно найти в самом дистрибутиве loop-AES либо по ссылкам ся приватный ключ для расшифровки раздела (подробнее о ра-
(на момент написания статьи): http://koti.tnnet.fi/jari.ruusu/linux/ боте GnuPG см. в статье «Защищаем себя средствами GnuPG»
util-linux-2.12r-20080303.diff.bz2 и http://koti.tnnet.fi/jari.ruusu/linux/ в «Open Source» 027):
util-linux-ng-2.13.1-20080303.diff.bz2 для util-linux 2.12r и util-linux-
ng 2.13.1 соответственно. Программы, которые будут измене- # head -c 3705 /dev/random | uuencode -m - | head -n 66 | tail ↵
-n 65 | gpg --symmetric -a > /path/to/keyfile.gpg
ны, – это swapon/swapoff (для возможности шифрования фай-
лов подкачки), losetup (для создания шифрованных псевдоус- После этой команды необходимо дважды ввести секрет-
тройств) и mount (для поддержки монтирования зашифрован- ную фразу для доступа. Чтобы сократить время генерирования
ных loop-устройств). ключа, нужно увеличить процессорное время: максимально ис-
Пересобрать GnuPG и aespipe статически (с флагом GCC "‑s") пользовать нагрузку на него (например, при помощи компиля-
нужно для того, чтобы в дальнейшем они не зависели от библи- ции чего-то массивного), «побродить» по Интернету, передви-
отек, находящихся на основном разделе диска, что позволит его гать курсор мыши и т. д.
зашифровать без надобности доступа к разделу. Теперь этот ключ можно использовать для создания псев-
Компиляция самого loop-AES тоже очень проста, и если доустройства:
вы хотите использовать не только алгоритм шифрования AES
(Rijndael), но и Blowfish, Serpent и Twofish, то команде make нуж- # echo -n "$PASSPHRASE" | losetup -p 0 -e AES128 ↵
-K /path/to/keyfile.gpg /dev/loop7 /dev/sda3
но передать в качестве параметра EXTRA_CIPHERS=y. Стоит
отметить, что дополнительные модули алгоритмов шифрования где:
включены в дистрибутив loop-AES начиная с версии 3.2a.  $PASSPHRASE – секретная фраза, которую вы вводили
для генерирования ключа;
Шифрование файла подкачки  AES128 – алгоритм шифрования раздела;
Сразу приступим к делу: на начальных этапах загрузки ОС нуж-  /path/to/keyfile.gpg – путь к сгенерированному ключу;
но подключить модуль loop.ko (loop.o в более ранних версиях  /dev/loop7 – псевдоустройство loop;
ядра Linux: 2.0-2.4) с помощью команды «modprobe loop» или  /dev/sda3 – дескриптор раздела.
прописав loop в файле /etc/modules (зависит от дистрибутива
Linux), чтобы до монтирования файловых систем модуль был Далее заполняем физическое устройство «случайными» дан-
готов к работе. ными через псевдоустройство loop:
После подключения модуля по умолчанию создаётся 8 loop-
псевдоустройств (/dev/loop0 .. /dev/loop7). Любое из них по же- # dd if=/dev/zero of=/dev/loop7 bs=4k ↵
conv=notrunc > /dev/null 2>&1
ланию можно использовать в качестве точки монтирования
для раздела/файла подкачки и записать его в /etc/fstab: И удаляем ассоциируемое с разделом loop-устройство:

/dev/sda2 none swap ↵ # losetup -d /dev/loop7


sw,loop=/dev/loop6,encryption=AES128 0 0

Здесь: В завершении необходимо отредактировать запись в /etc/


/dev/sda2 – раздел подкачки (swap);
 fstab:
/dev/loop6 – псевдоустройство, которое используется

для монтирования; /dev/sda3 /home ext3 defaults,noauto, ↵
loop=/dev/loop7,encryption=AES128, ↵
 AES128 – алгоритм шифрования. gpgkey=/path/to/keyfile.gpg 0 0

После создания такой записи в /etc/fstab выполнение ко- Теперь всё готово к созданию файловой системы на уровне
манды: loop. Для этого нужно воспользоваться командой:

swapoff -a && swapon -a # losetup -F /dev/loop7

№28, 10 июля 2008 


Электронное приложение «Open Source»
Она потребует ввода секретной фразы. Остаётся лишь соз- # umount /home
# losetup -F /dev/loop7
дать файловую систему на псевдоустройстве: # fsck -t ext3 -f -y /dev/loop7
# losetup -d /dev/loop7
# mkfs -t ext3 /dev/loop7

Перед проверкой опять удаляем ассоциируемое с разделом Альтернативы и оценка


loop-устройство: производительности
loop-AES – не единственный способ зашифровать жёсткий диск.
# losetup -d /dev/loop7 Наряду с ним существует и другая реализация подобной техноло-
гии: dm-crypt (http://www.saout.de/misc/dm-crypt). Она также пред-
После этого можно монтировать зашифрованный раздел ставляет собой модуль к ядру Linux. Управление осуществляет-
командой: ся несколькими программами, входящими в пакет LUKS (http://
luks.endorphin.org). LUKS предоставляют целую систему для уп-
# mount /home равления зашифрованными разделами. Однако, судя по про-
ведённым тестам, dm-crypt хоть и не намного, но уступает loop-
Для автоматического монтирования раздела (удобно, если AES в производительности: http://dev.riseup.net/grimoire/storage/
зашифрован основной – тогда не нужно вводить ключевую фра- encryption/benchmarks/dmcrypt-v-loopaes. Как видно из графи-
зу перед каждым монтированием нового раздела) можно пере- ков, loop-AES немного быстрее dm-crypt, если дело касается
нести информацию о шифровании из файла /etc/fstab в скрипт, файловых операций (чтения/записи), в том числе при исполь-
который бы на этапе загрузки автоматически создавал эти loop- зовании RAID-массивов.
псевдоустройства: Также экспертиза показала, что с использованием оптими-
заций для x86 алгоритм AES является лидером в скорости да-
echo -n "$PASSPHRASE" | losetup -p 0 -e AES128 ↵ же с длиной ключа в 256 бит.
-K /path/to/keyfile.gpg /dev/loop7 /dev/sda3

Права у такого скрипта должны быть выставлены на испол- Заключение


нение и чтение только для суперпользователя, чтобы обычные В этой статье рассмотрены основы шифрования разделов и уп-
пользователи не смогли примонтировать раздел, зная ключе- равления ими в операционной системе GNU/Linux с помощью ре-
вую фразу: ализации, предложенной проектом loop-AES. Продолжение бу-
дет посвящено монтированию основного (root, /) раздела и не-
# chmod 700 /path/to/script.sh которым тонкостям настройки шифрования посредством изме-
# chown root:root /path/to/script.sh
нения параметров и системных вызовов в ядре.
Для проверки зашифрованных разделов нужно использо-
вать команду fsck применительно к loop-устройствам (в это вре- Влад Глаголев
мя раздел, проверка которого производится в данный момент, (stealth@sourcemage.org)
должен быть размонтирован):

xmonad: функциональный
modMask = mod4Mask

Обратите внимание, что после этого во

оконный менеджер. Часть 2 всех сочетаниях клавиш, которые до это-


го приводились, <Alt> также изменится
на новое значение modMask.

В
прошлом номере «Open Source» 027 файле. По умолчанию это левый <Alt>, од- Рано или поздно каждому пользовате-
мы познакомились с тайловым нако многие пользователи находят удоб- лю хочется расширить или переназначить
оконным менеджером xmonad, рас- ным использование для этой цели клави- какие-то из сочетаний клавиш, настроить
смотрели его установку и механизм кон- ши Windows (на IRC-канале #xmonad да- их под свои нужды и привычки. Это мо-
фигурации. В этой и следующей частях же выдвигалась шуточная идея о произ- жет быть реализовано несколькими спо-
будут подробней описаны возможности водстве наклеек с логотипом xmonad, ко- собами: стандартным, который использу-
xmonad и даны инструкции по их исполь- торые можно смело наклеивать на кла- ет для обозначения клавиш собственную
зованию. вишу Windows). нотацию xmonad (немного не привычную
Обычно в конфигурационном файле для стороннего взгляда), и способом, ис-
Сочетания клавиш клавиша Windows обозначается значе- пользующим расширение EZConfig (оно
Как и положено достойному оконному ме- нием mod4Mask, левый <Alt> – mod1Mask, входит в состав XMonadContrib). EZConfig
неджеру, ориентированному на высокую правый <Alt> – mod3Mask. Узнать, так ли позволяет задавать клавиши в более дру-
производительность, xmonad обладает это на вашей системе, можно с помощью жественном стиле, используемом, напри-
вполне богатым стандартным набором утилиты xmodmap, которая при запуске мер, в редакторе Emacs.
комбинаций клавиш, а также механизма- без параметров выдает список текущих Итак, рассмотрим второй случай.
ми для их настройки и расширения. модификаторов вместе с их номерами. Для того чтобы воспользоваться любым
Как правило, все сочетания клавиш, Таким образом, для того чтобы назна- расширением xmonad, его необходимо
используемые xmonad, содержат в себе чить клавишу Windows в качестве моди- импортировать:
так называемую клавишу-модификатор, фикатора, необходимо установить значе-
которая задаётся в конфигурационном ние modMask равным mod4Mask, то есть: import XMonad.Util.EZConfig

10 №28, 10 июля 2008


Электронное приложение «Open Source»
Затем следует определить список пар «клавиша – дейст-  Full – простейший полноэкранный режим. Окно, которое
вие». В качестве примера добавим сочетания клавиш «модифи- в данный момент имеет фокус ввода, показывается на весь
катор + стрелки влево» или «вправо» для переключения между экран, а все остальные не видны.
окнами, дополнительные клавиши для перемещения и закры-  Tall – компоновка, которая хорошо знакома пользователям
тия окон и некоторые другие мелочи: dwm. Экран делится на две части: главная (master) и побоч-
ная (slave). В главной области располагается не более чем
myKeys = [ ("M-<Right>, windows W.focusDown) заданное количество окон (по умолчанию – одно), а все ос-
, ("M-S-<Right>", windows W.swapDown)
, ("M-<Left>, windows W.focusUp) тальные располагаются в побочной области. Увеличить или
, ("M-S-<Left>, windows W.swapUp) уменьшить максимальное количество окон в главной облас-
, ("M1-<F4>", kill)
, ("M-s h", spawn "xmessage 'hello, xmonad!'") ти можно комбинациями mod+запятая и mod+точка соответ-
] ственно. Кроме того, можно изменить соотношение между
размерами главной и побочной частей комбинациями mod+l
Рассмотрим формат описания клавиш, который должен быть и mod+h.
хорошо знаком пользователям Emacs: модификаторы и клави-  Mirror Tall – компоновка, полностью аналогичная предыду-
ши разделены дефисом, S – означает Shift, С – Сontrol, M – та са- щей с той лишь разницей, что экран делится на две части не
мая выбранная клавиша-модификатор. Кроме того, M1, M2 и т. д. вертикально, а горизонтально.
обозначают все остальные модификаторы (те, что вы можете
видеть, как mod1, mod2 и т. д., запустив утилиту xmodmap). Бук- В конфигурационной структуре данных за набор и настрой-
вы и цифры обозначают сами себя, а всякие «хитрые» клави- ки алгоритмов компоновок, доступных пользователю, отвечает
ши обозначаются через их названия в угловых скобках, то есть параметр layoutHook. Вот как он определен по умолчанию:
<Left>, <Enter>, <Escape>, <Home>, <F1> и т. д. (Полный список
можно посмотреть на странице с документацией EZConfig.) От- myLayouts = tiled ||| Mirror tiled ||| Full
where
метим, что возможно задание последовательности клавиш че- tiled = Tall nmaster delta ratio
рез пробел: «M-s h», что означает нажатие сочетания mod+s nmaster = 1
ratio = 1/2
и последующее нажатие клавиши h. delta = 3/100
Сочетание клавиш соединяется в пару с назначенным ему
действием с помощью круглых скобок: В первой строчке мы видим три алгоритма компоновки, раз-
делённые «оператором выбора» ||| (три вертикальные черты). С
("keys", action) Full все ясно – этот алгоритм не имеет никаких настроек. Алго-
ритм Tall имеет три параметра, здесь они названы nmaster, ratio
Затем они помещаются в список, обозначаемый квадрат- и delta. nmaster – максимальное число окон в главной области
ными скобками: по умолчанию. ratio – соотношение между главной и побочной
частями экрана. Наконец, delta показывает, насколько это соот-
[ ("keys1", action1), ("keys2", action2) ] ношение изменится после разового нажатия mod+l или mod+h.
Таким образом, после подстановки значений переменных tiled
После задания сочетаний клавиш вместе с ассоциированны- будет определена как Tall 1 (1/2) (3/100), а Tall – это функция, ко-
ми с ними действиями необходимо добавить их к стандартным торая принимает параметры алгоритма компоновки и возвра-
клавишам. Это можно сделать, в частности, с помощью функ- щает сам алгоритм.
ции additionalKeysP, которая добавляет к готовой конфигурации Теперь посмотрим на Mirror tiled. Tiled – это алгоритм ком-
дополнительные клавиши, например, так: поновки. Таким образом, Mirror принимает алгоритм и возвра-
щает другой, модифицированный алгоритм. Mirror как бы отра-
myConfig `additionalKeysP` myKeys жает компоновку относительно главной диагонали экрана, по-
этому вертикально расположенные части переходят в горизон-
Кроме того, EZConfig предоставляет функцию для удаления тально расположенные.
неиспользуемых сочетаний клавиш removeKeysP, а также до- Mirror – не единственный модификатор алгоритмов компо-
вольно полезную функцию checkKeymap, которая проверяет ва- новок. Например, модификаторы reflectHoriz и reflectVert из рас-
лидность задаваемых сочетаний клавиш и сообщает о повторах ширения XMonad.Layout.Reflect отражают компоновку в гори-
или синтаксически некорректно заданных сочетаниях. зонтальном и вертикальном направлениях соответственно. По-
этому, если вы хотите получить, к примеру, компоновку с глав-
Алгоритмы компоновок ной областью справа, а не слева, вы можете просто добавить
Расположить окна на экране можно многими способами, ко- в свой layoutHook алгоритм компоновки reflectHoriz tiled. Разу-
торые в разной степени удовлетворяют пользователя. Каж- меется, каждый из модификаторов можно применять к любому
дый алгоритм, располагающий окна, мы будем называть «ал- из алгоритмов компоновок, в частности, модификаторы можно
горитмом компоновки окон» или просто «компоновкой» (по-ан- комбинировать: например, reflectHoriz (Mirror tall) даст вам ком-
глийски layout). На момент написания статьи библиотека рас- поновку с главной областью внизу.
ширений XMonadContrib содержала более 40 различных ком- Другим полезным семейством модификаторов являются де-
поновок, многие из которых также могут быть индивидуаль- корации. Одним из отличий xmonad от других популярных окон-
но настроены. ных менеджеров является полное отсутствие панелей, в кото-
По умолчанию пользователю доступны три алгоритма ком- рых обычно располагается заголовок окна. Подключение мо-
поновки: Tall, Mirror Tall и Full. Переключаться между ними мож- дуля XMonad.Layout.SimpleDecoration поможет исправить си-
но комбинацией mod+Пробел. В отличие от dwm xmonad позво- туацию. Добавив алгоритм компоновки simpleDeco shrinkText
ляет для каждого рабочего стола устанавливать свою компо- defaultTheme tiled, вы получите компоновку tiled, которая снаб-
новку. Вот что они представляют собой: дит каждое окно панелью с заголовком этого окна. Изменять

№28, 10 июля 2008 11


Электронное приложение «Open Source»

Компоновка Circle и композитная прозрачность

Компоновка для мгновенных сообщений

12 №28, 10 июля 2008


Электронное приложение «Open Source»
цвета и размер декораций можно с по- зователей может заинтересовать под- окнами, ей необходимо выделить про-
мощью параметра defaultTheme. Другой держка UTF-8, которую можно включить странство на рабочем столе, что дела-
удобный декоратор – dwmStyle из моду- при конфигурации (этап configure), а так- ется с помощью функции avoidStruts, ко-
ля XMonad.Layout.DwmStyle – способен же поддержка XFT. торая должным образом модифицирует
добавлять декорации, не тратя на них Итак, xmobar успешно скомпилирован layoutHook. То есть вы можете написать
драгоценное пространство экрана. Поль- и установлен, займёмся его настройкой. в конфигурации следующее:
зователи Ion будут рады расширению Файл xmobar.config-sample представляет
XMonad.Layout.Tabbed, которое распола- собой пример конфигурационного файла, layoutHook = avoidStruts myLayout

гает декорации в виде табов. который можно вполне успешно исполь-


Бывают также алгоритмы компоновок, зовать практически без изменений. В нём Кроме того, необходимо учитывать
специально приспособленные под опре- можно задать позицию строки статуса, место, занимаемое строкой статуса,
делённые цели. Если вы используете мно- цвет и шрифт текста, а также указать раз- при распределении пространства для но-
гооконные программы обмена мгновен- личные мониторы, данные которых необ- вого окна. Для этого предназначен специ-
ными сообщениями, такие как Tkabber, ходимо выводить. Примерами таких мони- альный manageHook, который называет-
Pidgin или Gajim, попробуйте расшире- торов являются Weather, Network, Memory, ся manageDocks и объединяется с вашим
ние XMonad.Layout.IM. Настроив его, вы Cpu, Battery, Thermal, Date, StdinReader, manageHook с помощью оператора <+>.
добьётесь того, что окно контактов (рос- PipeReader и многие другие. Особый инте- Таким образом, в вашей конфигурации
тер) будет располагаться сбоку, во всю вы- рес представляют два последних, которые это будет выглядеть так:
соту экрана, а оставшееся пространство позволяют читать данные из стандартного
будет поровну поделено между окнами входа (stdin) и из UNIX-конвейера (pipe) со- manageHook = myManageHook <+> ↵
manageDocks
разговоров. ответственно. PipeReader ещё пригодится
Несмотря на то что концепция непе- нам для интеграции с xmonad. 5. Конфигурируем xmobar. Указыва-
рекрывающихся окон является ключе- Способов интеграции может быть не- ем позицию, в которой будет находиться
вой для xmonad, плавающие окна также сколько, но мы рассмотрим один из них, xmobar (нужно указывать нестатическую
поддерживаются. Более того, xmonad ав- который предполагает запуск xmobar позицию, например, Top или Bottom):
томатически распознает диалоговые ок- из .xinitrc или .xsession (в зависимости
на и делает их плавающими. Для пере- от того, какой именно файл вы исполь- position = Top
мещения окна нужно перетащить его мы- зуете для старта X) и взаимодействие
шью, зажав клавишу mod (см. раздел «Со- с xmonad через конвейер (pipe). Рассмот- Запускаем монитор, читающий из кон-
четания клавиш») и левую кнопку мыши, рим интеграцию пошагово: вейера и называющийся «log»:
а для изменения размера – клавишу mod 1. Создаём конвейер для взаимодейст-
и правую кнопку мыши. Применение лю- вия, например, в директории ~/.xmonad: Run PipeReader "~/.xmonad/pipe" "log"
бой из этих операций над окном приведет
к тому, что оно станет плавающим. Комби- mkfifo ~/.xmonad/pipe Добавляем этот монитор в строку, ко-
нация клавиш mod+t снимает с окна ста- торая будет выводиться xmobar:
тус плавающего. 2. Добавляем в сценарий запуска
X (.xsession или .xinitrc) xmobar и вывод template = "%log% }{ %date%"
Строка статуса из xmonad в созданный конвейер:
Согласно одному из известных законов 6. Теперь всё готово для совмест-
UNIX-философии программы должны де- xmobar & ной работы xmonad + xmobar, перезапус-
exec xmonad > ~/.xmonad/pipe
лать одну вещь и делать её хорошо. По- каем X.
этому для того, чтобы выводить какую- 3. Используем расширение XMonad. Как можно заметить, интеграция
либо информацию о текущем состоянии Hooks.DynamicLog в xmonad.hs для соз- xmonad со строкой статуса – далеко не са-
системы и оконного менеджера в частнос- дания logHook. Как обычно, добавляем мый простой процесс, поэтому в разраба-
ти, в xmonad и других тайловых оконных необходимый импорт: тываемой версии xmonad из darcs-репо-
менеджерах используются специальные зитория уже существуют функции, сво-
программы – строки статуса (status bar). import XMonad.Hooks.DynamicLog дящие базовую настройку для работы
Как правило, с xmonad использует- совместно со строкой статуса всего к од-
ся одна из следующих программ, пока- Создаём свой logHook c настройка- ной строке:
зывающих строку статуса: dzen (http:// ми для xmobar по умолчанию (параметр
gotmor.googlepages.com/dzen) и xmobar xmobarPP): main = xmobar xmonad
(http://code.haskell.org/~arossato/xmobar).
Последний написан на Haskell и изна- myLogHook = dynamicLogWithPP xmobarPP Вполне возможно, что вам захочется
чально предназначен для использования иногда убирать строку статуса для того,
в xmonad, поэтому именно его мы рас- Указываем его в конфигурации: чтобы раскрыть окно полностью на весь
смотрим подробнее. экран или по каким-то иным соображе-
На официальной странице проекта вы logHook = myLogHook ниям. Это можно сделать, добавив сле-
найдёте инструкции по сборке и установ- дующее в список ваших сочетаний кла-
ке xmobar. Отметим, что процесс сбор- 4. Используем расширение XMonad. виш (предполагается, что вы используе-
ки весьма типичен для Haskell-программ Hooks.ManageDocks в xmonad.hs для учё- те EZConfig):
и практически идентичен сборке xmonad та пространства, используемого строкой
(та же последовательность из configure, статуса. Поясним подробнее: для того ("M-b", sendMessage ToggleStruts)
make, install). Также русскоязычных поль- чтобы строка статуса не перекрывалась

№28, 10 июля 2008 13


Электронное приложение «Open Source»
Более подробно о различных настрой- статуса – являются главными аспектами скажем о сообществе, без которого не-
ках и функциях DynamicLog, определяю- настройки xmonad. Не пожалейте време- мыслим ни один Open Source-проект.
щих вид выводимой в строку статуса ин- ни на эксперименты с ними, и оно с лих-
формации, можно прочесть в документа- вой окупится за счет повышения вашей Иван Веселов
ции к DynamicLog. производительности. (veselov@gmail.com)
В следующем номере мы расскажем, Роман Чепляка
Подведем итоги как автоматизировать сортировку окон (roma@ro-che.info)
Три темы, рассмотренные в этом номере: по рабочим столам, сделаем обзор других
сочетания клавиш, компоновки и строка часто используемых расширений и рас-

Подписные индексы: Подписка на журнал


20780* «Системный администратор»
81655** Российская Федерация
 Подписной индекс: годовой – 20780,
 Казахстан – по каталогу «Российс-
кая пресса» через ОАО «Казпочта»
по каталогу агентства полугодовой – 81655 и ЗАО «Евразия пресс»
«Роспечать» Каталог агентства «Роспечать»
 Подписной индекс: годовой – 88099,
 Беларусь – по каталогу изданий стран
СНГ через РГО «Белпочта» (220050,
полугодовой – 87836 г. Минск, пр-т Ф. Скорины, 10)

88099* Объединенный каталог «Пресса Рос-


сии»
 Узбекистан – по каталогу «Davriy
nashrlar», российские издания через

87836** Адресный каталог «Подписка за ра-


бочим столом»
агентство по распространению печа-
ти «Davriy nashrlar» (7000029, г. Таш-
по каталогу агентства Адресный каталог «Библиотечный кент, пл. Мустакиллик, 5/3, офис 33)
«Пресса России» каталог»
 Альтернативные подписные агентства:
 Армения – по списку номенклатуры
«АРЗИ» через ГЗАО «Армпечать»
агентство «Интер-Почта» (375005, г. Ереван, пл. Сасунци Давида,
*
годовой (495) 500‑00-60, курьерская доставка д. 2) и ЗАО «Контакт-Мамул» (375002,
**
полугодовой по Москве г. Ереван, ул. Сарьяна, 22)
агентство «Вся Пресса»  Грузия – по списк у номенк лат у-
(495) 787‑34‑47 ры «АРЗИ» через АО «Сакпресса»
агентство «Курьер-Прессервис» (380019, г. Тбилиси, ул. Хошарауль-
Стоимость подписки агентство «ООО Урал-Пресс»
(343) 375-62-74
ская, 29) и АО «Мацне» (380060, г. Тби-
лиси, пр-т Гамсахурдия, 42)
через редакцию:  Подписка On-line  Молд а в ия – по ката лог у через
http://www.arzi.ru ГП «Пошта Молдовей» (МД‑2012,

900* руб.
http://www.gazety.ru г. Кишинев, бул. Штефан чел Маре,
http://www.presscafe.ru 134)

за 6 номеров
по списк у через Г УП «Почта При -
СНГ днестровья» (МD-3300, г. Тирасполь,
В странах СНГ подписка принимается ул. Ленина, 17)
в почтовых отделениях по националь- по прайс-листу через ООО агентство
1800* руб. ным каталогам или по списку номенкла-
туры «АРЗИ»:
«Editil Periodice» (МД‑2012, г. Киши-
нев, бул. Штефан чел Маре, 134)
за 12 номеров  Азербайджан – по объединенному
каталогу российских изданий через
 Подписка для Украины:
Киевский главпочтамт
предприятие по распространению пе- Подписное агентство «KSS»
чати «Гасид» (370102, г. Баку, ул. Джа- Телефон/факс (044)464-0220
вадхана, 21)

14 №28, 10 июля 2008

You might also like