Мобильный Linux от Moblin

Станут ли нетбуки катализатором продвижения Linux в массы? Возможно, но только если исправить ошибки прошлых лет.

[Андрей Боровский]

Мобильный Linux от Moblin

С появлением нетбуков у многих линуксоидов возникла надежда, что Linux наконец-то сумеет прорваться на рынок домашних ПК. Предпосылок для подобных ожиданий было несколько, прежде всего – цена. Компания ASUS во что бы то ни стало стремилась ограничить стоимость Eee PC заявленными двумя сотнями долларов. Установка лицензионной Windows XP крайне затрудняла решение этой задачи. Кроме того, Microsoft намеревалась прекратить продажи XP, а минимальные требования Vista были слишком высоки для нетбуков. Культурный барьер, который приходится преодолевать многим пользователям Windows при освоении интерфейса Linux, также не казался серьезной проблемой: при работе с устройствами нового типа, с ограниченными по сравнению с ПК возможностями, люди психологически готовы к освоению незнакомого ПО (в конце концов, мы ведь не ждем, что программы на нашем мобильном телефоне будут выглядеть так же, как настольные?). Еще одна проблема Linux – поддержка оборудования – легко решалась производителем, имевшим полный контроль над начинкой устройства.

Однако судьба Linux на нетбуках сложилась не так радужно, как ожидалось. Microsoft проявила расторопность и выпустила специальный удешевленный вариант Windows XP Home. Linux же покупатели нетбуков восприняли без энтузиазма. Доля продаж Linux-устройств в сравнении с Windows-аналогами начала падать, одновременно росло число Linux-нетбуков, возвращенных покупателями. На мой взгляд, первый опыт массовой предустановки Linux на нетбуки оказался неудачным, а причина заключается в том, что выбранный дистрибутив не смог продемонстрировать преимущества этой ОС при работе на маленьком компьютере.

Первый блин комом

Большинство пользователей первых нетбуков Asus Eee PC отнеслось к Xandros отрицательно, и я разделяю их точку зрения. На мой взгляд, разработчикам Xandros не хватило смелости. Возможно, какие-то маркетологи объяснили программистам, что пользователи Windows смертельно боятся интерфейса Linux. В результате Xandros создавался под девизом «Xandros – это не Linux!». Неумелые попытки создать среду, в которой пользователи Windows чувствовали бы себя комфортно, проглядывают во всем, начиная с заголовков окон в стиле Windows XP Silver и заканчивая странным гибридом из двух файловых систем – Windows и Linux. Результат разочаровал как пользователей Windows, так и многих приверженцев Linux. Что видел пользователь, купивший Asus Eee PC 701 с Windows XP? Маленький компьютер с «настоящей» операционной системой! И пускай после ее установки на SSD-диске Eee PC 701 почти не оставалось места для других приложений, пусть стандартные диалоги не всегда умещались на крошечном экранчике (а о создании специальных миниатюрных окон никто, конечно, не позаботился) – пользователь понимал, что на его маленьком компьютере «все, как у больших». По сравнению с этим стандартный интерфейс Xandros представлял собой жалкое зрелище. Рабочий стол в виде нескольких закладок, больше подходящий для КПК или мобильного телефона, навязывал пользователю жесткий набор локаций. Удалить ненужные ярлыки и добавить свои собственные можно было только на закладке Favorites, да и то система предлагала выбрать приложения из готового списка. К этому следует добавить, что значительная часть ярлыков рабочего стола Xandros представляла собой ссылки на различные сайты – обычно их хранят в браузере.

Названия закладок (Work, Learn, Play) соответствовали рекламному слогану Eee PC, но не соответствовали тому, как пользователи ПК привыкли сортировать приложения. Надо сказать, что люди вообще не очень любят, когда им навязчиво советуют, что и где они должны делать; интерфейс же Xandros в своем менторстве превзошел все известные мне образцы. Неудивительно, что и консоль в Xandros была спрятана невероятно глубоко (самый простой способ вызвать ее – нажать сочетание клавиш Ctr+Alt+t). Невероятно, но факт: в дистрибутиве Linux консоль оказалась запрятана глубже, чем в Windows Vista!

Следует особо отметить работу драйверов для встроенной Wi-Fi карты. Многие пользователи Xandros жаловались на то, что беспроводное соединение не работает «из коробки» (у меня оно заработало после обновления драйверов из онлайн-репозитория, для подключения к которому пришлось втыкать в нетбук витую пару). Более тонкое издевательство над владельцами ультра-мобильных ПК трудно себе представить. Разумеется, определенные проблемы с драйверами для беспроводных карт существуют у всех дистрибутивов Linux, но в других случаях это объясняется тем, что разработчики беспроводного оборудования не заинтересованы в рынке настольного Linux. Как же тогда объяснить, что разработчик нетбука, выбравший Linux в качестве предпочтительной операционной системы, не сумел снабдить ее качественными драйверами Wi-Fi для своего собственного изделия?

При всем при том, Xandros остается дистрибутивом Linux, основанным на Ubuntu, а потому, затратив определенные усилия, его все же можно превратить в привычную линуксоидам среду. Можно даже избавиться от угнетающей системы закладок и вернуться к традиционному рабочему столу; правда, для этого требуется специальная утилита.

Что еще отсутствовало в Xandros, так это средства разработки. Установить GCC и Autoconf было невозможно, даже погрузившись в консольные дебри. Perl и Python присутствовали, но, вероятно, только потому, что без них многие важные программы Linux просто не смогли бы работать. Отсутствие GCC не только неудобно (нельзя собрать программу из исходников), но и непонятно. Ведь нетбуки были объявлены средством обучения, а программирование – именно то, чему легко и приятно учиться при работе с Linux.

Новое веяние

Впрочем, разработчики не смутились и продолжили создание Lnux-платформы для ультра-мобильных ПК. Одной из них стал Moblin (www.moblin.org), проект, осуществляемый под патронажем Intel с июля 2007 года. Дабы у читателя не сложилось превратное впечатление, отметим сразу, что Moblin ориентирован не только на нетбуки. В нем, как мы увидим ниже, отсутствуют многие недостатки (и, к сожалению, некоторые достоинства) Xandros.

По словам представителей Intel, Moblin предназначается для широкого круга мобильных устройств (ограниченного, разумеется, технологиями Intel). Moblin ориентирован на процессоры семейства Atom (не случайно активизация проекта пришлась на весну 2008 года, когда общественности были представлены первые чипы Atom) и графические карты Intel. Однако ориентация на Atom не помешает установить дистрибутив на системах с совместимыми процессорами (например, на вашем настольном ПК или ноутбуке) или на виртуальную машину (поддерживаются и VMware, и QEMU/KVM). Графическая система Moblin работает только с чипсетами Intel (это, пожалуй, единственное специфическое требование к оборудованию; на виртуальные машины оно, естественно, не распространяется), которые, впрочем, присутствуют на любой современной материнской плате. В процессе установки Moblin можно пойти по одному из двух путей – скачать готовый «живой» дистрибутив Moblin для реальной или виртуальной машины и затем выполнить полную установку системы, либо создать собственный вариант дистрибутива Moblin с помощью утилиты Moblin Image Creator (MIC, текущая, вторая версия обозначается как MIC2). MIC2 может генерировать загрузочные образы Moblin для CD, USB и виртуальных машин. Для описания дистрибутива MIC использует синтаксис конфигурационных файлов Kickstart инсталлятора Anaconda от Red Hat. С сайта Moblin можно скачать готовые файлы, описывающие два варианта Moblin – для пользователей и разработчиков. Используя их как основу, нетрудно скомпоновать свой собственный дистрибутив Moblin.

Moblin снаружи

Похоже, разработчики Moblin учли уроки Xandros. Прежде всего, они не побоялись показать пользователю, что он работает в Linux: вместо путеводителя для маленьких детей мы видим нормальный рабочий стол. Окно консоли доступно, но не навязчиво. Сетевая подсистема дистрибутива распознала беспроводную карту моего ноутбука и без особых проблем подключилась к сети с помощью DHCP. Тут, правда, стоит отметить, что при переходе от Moblin Alpha1 к Alpha2 разработчики значительно урезали функциональность утилиты настройки сети, мотивируя это тем, что возможности последней значительно превышают потребности рядового пользователя. Решение, на мой взгляд, неразумное, и, как мы увидим ниже, противоречивое.

Создатели Moblin не забыли о том, что ресурсы нетбуков следует экономить, и существенно облегчили дистрибутив. В качестве графической оболочки задействована легкая Xfce, вместо Kate или Gedit используется простенький редактор Mousepad. Любопытно отметить, что по умолчанию в Xandros для правки текстов есть только (ни много, ни мало!) OOo Writer, хотя из консоли вызываются и другие редакторы.. На роль менеджера файлов взят Thunar – легкая альтернатива «монстрам» Dolphin и Nautilus. Облегчения коснулись не только внешности, но и внутренностей Moblin (об этом чуть позже).

Серьезным недостатком Moblin в его нынешнем виде является отсутствие привычных средств взаимодействия с другими компьютерами. Очевидно, что для пользователей нетбуков очень важна возможность обмениваться файлами по сети – прежде всего, с Windows-машинами. Тем не менее, графическая оболочка Moblin никак не интегрирована с Samba. Стандартный менеджер файлов Moblin не умеет работать и с протоколом SFTP, хотя консольный клиент sftp присутствует. Для сравнения заметим, что в Xandros взаимодействие с компьютерами, работающими под управлением Windows и Linux, реализовано на очень высоком уровне. В Moblin можно добавить консольные инструменты обмена данными с Windows посредством утилиты установки дополнительного ПО, но для начинающего пользователя, привыкшего работать с Windows, такое решение вряд ли окажется приемлемым. А между тем, в дистрибутиве, ориентированном на нетбуки, Samba должна работать прямо из коробки! Несмотря на то, что версия Skype для Moblin уже выпущена, популярный клиент интернет-телефонии не только не устанавливается по умолчанию (как в Xandros) но и вообще отсутствует в дистрибутиве (в будущем это упущение, скорее всего, будет исправлено). Все эти недостатки несколько сглаживаются тем, что мы имеем дело с альфа-версией (Moblin v2 Alpha 2 Release), ориентированной на технически грамотных людей.

Важным моментом для отечественных пользователей является возможность русификации Moblin. Надо сказать, что на концептуальном уровне разработчики дистрибутива уделяют интернационализации пристальное внимание – вся необходимая инфраструктура уже присутствует. В процессе установки можно выбрать русский в качестве языка интерфейса по умолчанию. Однако настроить полную русскую локализацию мне так и не удалось. При русификации же Xandros пришлось немного повозиться, но зато потом все работало отлично. Xandros успешно распознает русские буквы в именах объектов своей собственной файловой системы, FAT и Samba. Moblin может работать с русскими буквами в именах файлов в своей собственной файловой системе, а также в Samba (при использовании консольных утилит), но на USB-флэшке с FAT русские буквы заменяются знаками вопроса. Переключение раскладок клавиатуры в Xandros настраивается через стандартную утилиту KDE. В Moblin есть для этих целей свой инструмент, и в нем даже можно добавить русскую раскладку, но переключение не работает.

То, что Moblin выглядит и ведет себя как Linux, очень хорошо, но от некоторых вредных привычек нужно все же избавляться. В стартовом меню Moblin мы находим целых две утилиты настройки (общесистемную и для Xfce) с интерфейсом, способным вызвать шок у Windows-пользователя.

А вот утилита поиска файлов Moblin очень хороша. По функциональности она, возможно, и не дотягивает до аналогичного инструментария Konqueror/Dolphin, но за пределами KDE она – лучшее из всего, что мне встречалось.

При первом знакомстве с Xandros пользователи Windows жаловались, что им не хватает приложений. Звучит довольно забавно, если учесть, что программ в Xandros гораздо больше, чем в Wndows для нетбуков, и что, поскольку сам Xandros занимает на диске меньше места, свободного пространства для их установки также остается больше. А все дело в том, что пользователи Windows не находили в Xandros привычных им приложений. Между тем, восполнить этот пробел не так уж трудно. У Google Earth и RealPlayer есть версии для Linux, которые ничем не отличаются от знакомых всем Windows-программ. Разработчики Moblin пока что ничего не сделали для оснащения дистрибутива классическими программами Windows, и это тоже минус для дистрибутива, который будет конкурировать с Windows на нетбуках. Пользователи Windows жаловались и на отсутствие средств синхронизации Linux-нетбука с Windows (имея в виду Windows Live, Outlook, Мои документы, Избранное в Internet Explorer). Думаю, что написать программу синхронизации Moblin с указанными Windows-приложениями было бы нетрудно, но пока этого никто не сделал. Инфраструктура, необходимая для синхронизации Moblin с устройствами и программами, в ядре системы уже есть. Чего не хватает Moblin, так это простого и легкого средства синхронизации, ориентированного специально на Windows и обладающего интерфейсом, привычным для пользователей этой ОС.

Moblin изнутри

Если внешне Moblin не так уж сильно отличается от других дистрибутивов Linux, то во внутренней структуре системы мы найдем немало необычного. Разработчики делят ядро Mobin (Moblin Core) на три уровня. Самый нижний составляют ядро Linux и его модули. К следующему уровню относятся компоненты сервисов приложений (Application Services). Многие из них позаимствованы у другого мобильного Linux-проекта – GNOME Mobile (www.gnome.org/mobile). Вообще, компоненты GNOME/GTK (Cairo, Pango, GStreamer, Glib, GObjects) играют важную роль в системе сервисов приложений Moblin. Система электронных записных книжек-напоминалок (куда же без нее в мобильном дистрибутиве?) основана на Evolution Data Server. Взаимодействие с Bluethooth возложено на стек Bluez. Компоненты Wi-Fi/WiMax тоже вынесены на уровень сервисов приложений и интегрированы с системой конфигурации и обновления ПО для мобильных устройств OMA-DM. Будем надеяться, что в устройствах, рассчитанных на Moblin, драйверы Wi-Fi не придется обновлять через проводное соединение. Ряд подсистем уровня приложений разрабатывается компанией Intel, например, GUPnP, предназначенная для работы с UPnP (GUPnP создавалась компанией Opened Hand, впоследствии купленной Intel).

На этом же уровне расположены графические интерфейсы X Window и OpenGL, а также стек протоколов интернет-телефонии и (опционально) модуль поддержки телефонных протоколов сотовой связи.

Следующий уровень содержит библиотеки для работы с графическим интерфейсом и мультимедиа. Основой GUI в Moblin является библиотека Clutter (www.clutter-project.org), детище все той же Opened Hand. Clutter, вообще говоря, предназначена для вывода трехмерной графики, так что при построении GUI с ее помощью могут быть реализованы все популярные 3D-концепции. Clutter оперирует графами сцен (scene graphs), что позволяет без труда реализовать сложное моделирование. Низкоуровневый вывод в Clutter обеспечивается OpenGL или OpenGL ES (с аппаратным ускорением, где это возможно), однако при программировании для Clutter программисту не придется использовать команды OpenGL напрямую. Вместо этого нам доступен COGL API – дополнительный уровень абстракции поверх OpenGL и OpenGL ES. Освоение COGL API не должно вызвать затруднений у опытных программистов. С одной стороны, функции COGL очень похожи на функции базовой OpenGL. С другой, COGL API, как и все интерфейсы программирования Clutter, очень похож на GTK+. Помимо C и C++, программировать на Clutter можно с помощью таких языков, как Perl, Python, C# и Ruby.

Еще одна составная часть Clutter – библиотека Box2D – реализует двумерную «физику» (обнаружение столкновений в двумерной сцене и тому подобное). Среди других особенностей стоит отметить компоненты, упрощающие воспроизведение анимации, интернационализацию и вывод web-страниц. При этом разработчикам не стоит опасаться, что программы, использующие Clutter, навсегда станут мобильными – библиотека кросс-платформенна и работает не только в системах Linux различного назначения, но и в Windows и Mac OS X. Впрочем, если Clutter вас не устраивает, вы можете создавать приложения для Moblin и в более привычной среде, пользуясь входящими в состав системы мобильными версиями Qt и GTK+. Поверх уровня Clutter каждый дистрибутив Moblin создает пользовательский интерфейс, который, учитывая широкий спектр применения платформы, может выглядеть очень по-разному.

Урок программирования

В отличие от Xandros, программы для Moblin можно писать в самой системе. Вам предоставляется полный пакет средств разработки: GCC, Autoconf и Cо., CMake, GConf, Glade, Qt Designer и прочие. Естественно, что многие полезные программы можно собирать прямо из исходников. Все эти инструменты наверняка давно вам знакомы. Я же хочу сосредоточить внимание на одной любопытной новинке, которая разрабатывается и продвигается в рамках проекта Moblin – программе Linux Project Generator.

Как следует из названия, задача программы – генерировать проекты приложений Linux (на самом деле, проекты LPG основаны на Autogen и в принципе пригодны для любой системы, поддерживающей этот инструмент). Помимо скриптов, необходимых для генерации make-файла, LPG создает каркас исходных текстов программы (с учетом выбранного языка программирования и типа приложения). Некоторые, несомненно полезные, возможности LPG (генерация пакетов RPM и Debian, вставка в заготовку проекта исходных текстов из репозитория примеров программ) все еще находятся на стадии разработки. Помимо графического интерфейса в стиле мастера, у LPG есть и текстовый, а также интерфейс командной строки со множеством ключей, что позволяет применять программу в скриптах. Я воспользовался LPG для создания проекта простейшей программы, использующей Clutter (одна из немногих задач, которую LPG в своем нынешнем виде может выполнить от начала и до конца). В результате после сборки проекта по экрану нетбука запрыгали разноцветные буквы.

Что дальше?

В общем и целом, Moblin производит впечатление удачного дистрибутива для мобильных устройств. Впрочем, это не означает, что новую платформу непременно ожидает успех. Позиции Linux в мире нетбуков уже подорваны, а что касается других типов мобильных устройств, то там пока что не очень прочны позиции Intel. В заключение хотел бы отметить, что Moblin понравился мне вовсе не тем, что это не Windows. У меня нет аллергии на продукцию Microsoft – просто у мобильной Linux-системы действительно больше возможностей.

[Источник Linux Format]

[ опубликовано 15/06/2009 ]

Андрей Боровский - Мобильный Linux от Moblin   Версия для печати