Содержание статьи
Телефоны на базе Linux’а мы видели не раз. Но выход смартфона на новенькой
Meamo 5, по сути, являющейся Debian’ом, да еще и на машинке с характеристиками,
сравнимыми с компьютером, мы пропустить не могли. А потому решили посмотреть, на
что же способен этот мобильный линукс и нужен ли он вообще?
Что такое Maemo? Это специальная платформа для портативных устройств,
основанная на дистрибутиве Debian GNU/Linux. Если помнишь, Nokia выпускала
довольно странные для обычного человека девайсы N770/N800/N810: далеко не каждый
понимал, зачем нужен интернет-планшет, если по нему нельзя позвонить? Объяснять
им, в чем прикол системы, на которой запускаются линуксовые приложения, бестолку:
все равно ничего не поймут. К счастью теперь, когда в новенькой Nokia N900
появился телефонный модуль, "ушастые" могут радоваться навороченному интерфейсу,
а мы насладиться тем, зачем собственно такой аппарат и покупаем – его линуксовой
начинкой. Тут надо сказать, что N900 – это пока единственный девайс, который
выпускается на новой платформе Maemo 5 (до этого момента использовались версии
OS2005, OS2006, OS2007 и OS2008). Впрочем, о том, что внутри телефона установлен
Linux, обычный пользователь никогда не догадается. Ведь на базе X.org’а ему
предлагается удобный тач-интерфейс, практически исключающий использование
стилуса (сказать по правде, я даже не сразу его заметил, а необходимости в нем
банально не было), который крутится вокруг системы четырех рабочих столов,
переключение между которыми осуществляется легким движением пальца. Причем,
каждый из них полностью настраиваемый благодаря системе передвигаемых ярлыков и
виджетов. Скажем, на одном рабочем столе можно разместить все для работы с
телефоном, а на другом — приложений и виджеты для администрирования локалки (а
то! читай ниже). Единственное, что явно выдает линуксовую натуру Maemo 5 — это
ярлык X Terminal в меню приложений.
Терминал прямо на телефоне
Да-да, после нажатия на ярлык открывается самый настоящий линуксовый
терминал. Поначалу, правда, удивило, что система не распознает самые, казалось
бы, стандартные команды: "uname -a
" или "ifconfig
". К
счастью, для решения достаточно зайти в систему под рутом. Maemo 5 и
соответственно N900 выгодно отличается от других аналогичных платформ, где для
получения доступа к root’у надо заливать специальную хакнутую прошивку,
устанавливать jailbrake’и — короче, идти на всяческие ухищрения. Достаточно
открыть в N900 консоль (кстати, как и в обычной системе для этого есть горячая
клавиша: <Ctrl-Shift-x>) и набрать команду "sudo gainroot
" — и рут,
в прямом смысле слова, у нас в кармане:
Nokia-N900-42-11:~# uname -a
Linux Nokia-N900-42-11 2.6.28-omap1 #1 PREEMPT Wed Oct 28 15:32:55 EET 2009
armv7l unknown
Nokia-N900-42-11:~# whoami
root
Правда, я умолчал об одной важной детали. Для того чтобы команда "sudo
" работала правильно, необходимо установить в систему специальный
gainroot
пакет rootsh.
Менеджер пакетов и все-все-все
Установить пакет — ничего не напоминает? Именно! Как и в любой Debian-системе
приложения необязательно компилировать из исходников: они легко устанавливаются
в систему через менеджер пакетов. Последний сам заботится о том, чтобы скачать
самую последнюю версию приложения и удовлетворить все зависимости. Вспомним
Symbian, где для установки программы нужно было найти sis-файл дистрибутива,
далее заморочиться с подписями и вдобавок подключить телефон к компьютеру.
Почувствуй разницу: в случае с Maemo необходимо, чтобы программа была в каталоге
приложений. Единственное, что тогда придется сделать — это выбрать ее для
установки в диспетчере приложений. Система сама подкачает дистрибутив из
репозитория, удовлетворив все зависимости.
Кстати о репозиториях. По умолчанию в диспетчере приложений включены только
два: "Приложения Nokia" и "Обновление системного ПО Nokia", и поэтому весь
список доступных для установки приложений состоит из максимум двадцати виджетов
и утилит. Не сильно впечатляет, правда? И более того — среди них нет нужного нам
пакета rootsh. В поиске причины залезаем в настройки каталогов приложений и
обращаем внимание, что репозиторий Maemo Extras не активен. Исправляем это
недоразумение и одним кликом мыши добавляем в диспетчер новые пакеты, одобренные
комьюнити Maemo, в том числе и заветный rootsh. Хочу сразу сказать: для
установки приложений никакой root-аккаунт не нужен, но он понадобится, если
хочешь поковыряться во внутренностях системы или, например, использовать
консольный инструмент для управления пакетами apt-get. И раз уж добрались до
администратора, то попробуем выяснить, на каком железе работает наша машинка.
Для того чтобы выяснить размер внутренней памяти, используем команду df (disk
free):
Nokia-N900-42-11:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 227.9M 189.3M 34.4M 85% /
tmpfs 1.0M 92.0k 932.0k 9% /tmp
tmpfs 256.0k 68.0k 188.0k 27% /var/run
tmpfs 64.0M 4.0k 64.0M 0% /dev/shm
/dev/mmcblk0p2 2.0G 350.1M 1.5G 18% /home
/dev/mmcblk0p1 27.0G 690.2M 26.3G 2% /home/user/MyDocs
В общей сложности — 32 Гб. Теперь посмотрим, что у нас за процессор. Данные о
CPU хранятся в текстовом файле/proc/cpuinfo. Октроем его тулзой cat:
Nokia-N900-42-11:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 249.96
Как видишь, в качестве процессора используется CPU на базе ARM. Правда,
вместо частоты здесь указано количество миллионов операций в секунду (BogoMIPS),
но она составляет 600 МГц. Хочется тут же ответить на самый распространенный
вопрос по N900: "Раз смартфон построен на Linux’е, то можно ли взять .deb-пакеты
от обычного Debian’а и запустить их на мобильной платформе?». Нет и еще раз нет!
Как мы только что выяснили, процессор N900 построен на базе ARM, в то время как
CPU твоего компьютера, скорее всего, использует x86-архитектуру. Исходный код
компилируется для разных платформ по-разному, поэтому можно даже не пробовать
запустить на ARM’е код, собранный для x86-платформы. Более того, не так просто
откомпилировать исходники линуксового приложения для Maemo. В большинстве
случаев приложения нужно доводить до ума, модифицируя код для работы в
совершенно новом окружении, в том числе с использованием touch-интерфейса,
акселерометров и т.д. Хорошая новость в том, что профи из комьюнити активно
занимаются этой работой, а поэтому уже сейчас в репозитории огромное количество
самых разных никсовых утилит, в том числе для системного администратора!
Администрируем все и вся
По правде говоря, увидев пакет OpenSSH Client и Server, я ринулся
устанавливать его в первую очередь. Что порадовало — в момент установки
SSH-демона у тебя не открывается огромнейшая дыра в лице стандартного root’ового
пароля, которые многие пользователи как пить дать забудут переустановить (привет
iPhone’у с установленным jailbrake’ом!). Система сама предлагает ввести новый
пасс для рута — и мы его вводим. Заодно устанавливаем виджет Personal IP Address,
который прямо на рабочем столе отображает названия активных интерфейсов и
присвоенных им IP-адресов. Для удобства предлагаю расположить виджет на
отдельный рабочий стол и сюда же добавить ярлык на X Terminal — с этого начнем
строить рабочий стол админа. Открыв PuTTY на ноутбуке, присоединенном к той же
Wi-Fi сети, я ввел заветный IP-шник и... без каких-либо проблем подключился к
SSH-демону, как будто это был самый обычный сервак на Linux’е. Впрочем, тут же
осознав, что то же самое можно с неменьшим успехом делать и с самого телефона, я
переключился на намного более практичную задачу — коннекту к различным серверам.
Для этого нужно открыть на девайсе терминал и отдать команду: ssh <IP-сервера>.
Поверь, разницы с тем, как если бы ты коннектился к ним через PuTTY с
компьютера, никакой!
Следующий ярлык, который я вынес на рабочий стол — VNC Viewer. Тут надо
сказать, что полноценный клиент для подключения к удаленному рабочему столу,
который действительно можно удобно использовать с телефона, — моя давняя мечта.
И хотя можно было сразу попробовать поставить rdesktop, как на любом линуксе, я
решил довериться стандартному VNC-клиенту, а для экспериментов поднял на буке с
Windows 7 VNC-демон. И вот, что я тебе скажу: с N900 ты можешь реально
пользоваться своим компьютером удаленно без какого-либо дискомфорта! На
нормальном коннекте получаем моментальный отклик, идеальную картинку — как будто
с обычного монитора, причем на большом экране девайса вмещается внушительная
часть рабочего стола настольной машины. Если есть Wi-Fi или 3G-интернет, эту
возможность можно использовать постоянно и фактически работать на своем рабочем
компьютере, используя его производительность и широкий интернет-канал. К слову,
для отслеживания беспроводных сетей есть отдельный замечательный инструмент —
Wifiinfo. Полноценным стамблером его не назовешь, потому что пока он не
фиксирует GPS-координаты, но со сканированием эфира, определяя SSID, уровень
сигнала и параметры шифрования точек доступа, справляется на ура. И кстати: сети
с уязвимым WEP-шифрованием программа, как и подобает хакерской тулзе, отображает
особым образом.
Браузер и многозадачность
Еще больший эффект того, что имеешь дело не с телефоном, а компьютером,
достигается за счет браузера Maemo Browser, построенного на базе Mozilla и
поддерживающего Adobe Flash. Весь смак от использования начинаешь ощущать, когда
просматриваешь ролики на Youtube (в том числе на полном экране) и работаешь с
любыми Web 2.0 сервисами. Больше не надо использовать мобильные версии Google
Docs и Google Reader или того же Gmail: все их AJAX-навороты отлично
отображаются в Maemo Browser. А так как это почти Firefox, то можно заюзать
несколько полезных плагинов, заботливо подготовленных комьюнити. Расправится
разом со всей рекламой поможет AdBlock Plus, а внести полезны изменения в сайты
с помощью JS-скриптов — Greasmonkey. Устанавливаются они опять же очень просто —
через диспетчер приложений. На одних только баннерах (особенно на Flash’овых)
можно сэкономить кучу GPRS-трафика, следить за использованием которого удобно
через виджет Personal Data Plan Monitor. Еще один хинт для браузера: горячая
клавиша <Ctrl+Shift+I>, которая включает особую систему приближения, подгоняющую
параграфы текста так, чтобы они соответствовали ширине экрана.
Использование Linux’а позволило реализовать в N900 полноценную
многозадачность. Ты можешь открыть браузер, консоль терминала с запущенным
SSH-клиентом и параллельно переключаться на удаленный рабочий стол через
VNC-клиент — и все это будет работать. Для таскменеджера даже есть хоткей: <Ctrl-Shift-Backspace>.
Даже если среди приложений будет прога, активно использующая 3D-графику, она не
убьет мультизадачность наповал (если, конечно, она не написана на коленке
горе-программистом). Секрет тут в том, что Maemo 5 перекладывает задачи по
обработке графики на 3D-ускоритель GPU.
Quake 3 vs. Maemo 5
Насколько эффективно она это делает? Настоящий фурор на одной из презентаций
N900 в Лондоне произвел запущенный на двух телефонах Quake 3, в который ребята
играли в мультиплеер по сети! Помнится, много лет назад я специально покупал
новый компьютер — ради того, чтобы комфортно играть в кваку. И вот времена —
игрушку тянет пускай и топовый, но смартфон! Правда, сама портированная версия
игрушки является чисто экспериментальной и для того, чтобы использовать ее,
придется подключить специальный репозиторий с бета-версяими программ — Extras
Development. Для этого открой диспетчер приложений и через меню «Каталоги
приложений -> Создать» добавь запись о новом хранилище пакетов, указав http://repository.maemo.org/extras-devel
в поле «Веб-адрес», «fremantle» в поле «распространение» и «free non-free» в
поле «Компоненты».
Менеджер пакетов проведет апдейт списка доступных приложений. Это огромное
хранилище самых разных программ, виджетов и игр, которые пока находятся в стадии
бета-тестирования, но вполне пригодны для использования. В частности разработчик
пакета ioquake3 честно предупреждает о возможных багах, но игрушка-то работает!
Правда, после установки пакета необходимо скопировать файлы *.pk3 с текстурами и
картами с CD-диска Quake 3 в папку /home/user/baseq3. И вот теперь можно
собирать количество охов и ахов друзей, запуская для них игрушку :). Управление
осуществляется с помощью акселерометра, а если еще подключить через TV-Out к
телевизору ,— из N900 получается неплохая игровая консоль! Еще один трик. Если
желания маяться с поиском старого CD нет, можно прямо из репозитория установить
альтернативу в лице openarena. Это открытая реализация Quake3, в которой
используется открытый движок Q3 и созданные энтузиастами карты, модели и набор
текстур. Не забудь изучить и другие программы в разделе «Мультимедийные», в том
числе подкаст-аггрегатор gPodder Podcast Client.
Skype и камера
Скачивать подкасты и затем переносить их на телефон — настоящая тоска. Если у
телефона есть Wi-Fi, то намного удобнее закачивать подкасты прямо на него. В
связке со встроенным FM-передатчиком, N900 превращается в настоящий musthave для
автолюбителей. Нужно лишь настроить магнитолу на частоту FM-передатчика, и
прослушивания подкастов в машине превращается в одно удовольствие!
Устроить трансляцию можно не только в аналоговых радиоволнах, но и в цифре,
вещая в инет изображение с 5-мегапиксельной камеры. Если в ранних моделях с
Meamo для этого нужно было не кисло попариться с настройкой нескольких
транслирующих программ, то в N900 со всем справится миниатюрная утилитка qik,
для которой понадобится исключительно аккаунт на одноименном сервере. Кстати
говоря, качество изображения оптики Carl Zeiss заслуживает всяческих похвал.
При деле и передняя камера для видеоконференции. Правда, нам, обделенным
полноценным 3G-инетом, придется использовать Skype или Google Talk. Причем
позвонить человеку или, на худой конец, начать чат можно прямо из профиля
человека в записной книжке. Это супер нововведение: наконец-то не надо открывать
скайп и искать там нужный контакт (который обязательно назван как-нибудь навроде
katya87), а можно просто звонить человеку прямо из записной книжки телефона:
хоть через GSM, хоть через VoIP.
Миникомпьютеру — быть!
Что я тебе могу сказать тебе после недели использования телефона? Это ни разу
не смартфон! Это мини-компьютер, умеющий, к тому же, звонить. Ощущение того, что
имеешь дело не с миниатюрным девайсом, а полноценной системой, прежде всего,
создают знакомые никсовые программы. Пускай из-за различий архитектуры нельзя
просто взять .deb-пакет от Debian и установить на N900, но в даже на текущий
момент в тестовых репозиториях есть самые разные продукты: редактор для кодинга
Vim, интерпретатор Python, клиент Pidgin для обмена сообщениями, VNC-клиент и
море других. Правильная мультизадачность, позволяющая одновременно использовать
несколько приложений и при этом не наслаждаться слайдшоу, еще больше усиливает
ощущение, что в N900 все по-взрослому. Браузер на базе Mozilla — это особенная
история. Наконец-то прямо со смартфона можно просматривать сайты в их привычной
форме, а не довольствоваться мобильными версиями, лишенными прелестей AJAX.
Понимание того, насколько классный девайс сейчас выпустила Nokia, пришло не
сразу. Скажу больше на первый взгляд, девайс вообще мало чем впечатлил. Но уже
скоро осознаешь, что с приобретением N900, ты получаешь вовсе не смартфон, а
стильный мини-компьютер, который умещается в кармане.