На рынке мобильных операционных систем уже много лет доминирует Android, оставляя значимую нишу только для iOS. Как насчет альтернативы? В сегодняшней статье мы изучим как раз такой вариант — мобильную операционную систему Sailfish OS финской компании Jolla. Посмотрим, каково это иметь на телефоне настоящий Linux (лишенный родовых болячек Nokia N900).
Sailfish переводится как «рыба парусник», а jolla – это по-фински «лодочка», прямой родственник нашего ялика. Рыбакам терминология понравиться!
На самом деле у ОС Андроид есть и другие конкуренты, например операционная система Tizen. Но все же Sailfish — единственная, которую можно установить на некоторые телефоны уже сейчас, плюс Jolla успела выпустить пару моделей под своей маркой, и эти аппараты все еще можно найти на рынке.
Sailfish OS
Sailfish — это, по сути, прямой наследник операционной системы Meego. Ее вы, возможно, успели увидеть в аппарате Nokia N9. Meego — настоящий Linux, обладающий, помимо ядра, привычным набором компонентов, таких как Systemd, Pulseaudio и Wayland. Никаких виртуальных Java-машин, только для хардкор для настоящих мужчин!
Пользовательская среда — самобытная разработка Jolla, написанная на Qt 5 и QML. Управление в Sailfish построено на жестах и касаниях, поэтому отдельной кнопки Home у системы нет. Для разблокировки нужно дважды тапнуть экран и затем смахнуть его в сторону. Навигация по системе строится на свайпах.
РЕКОМЕНДУЕМ:
Обзор мобильной операционной системы Fuchsia OS
Центральный экран занимает список приложений, который можно пролистывать. Делаем свайп вниз — вылезает шторка с типами подключений, небольшой свайп вверх — появляется нижний док с избранными приложениями, а если потянуть сильнее — покажется основная сетка приложений. Пролистывая экраны в стороны, можно переключаться между тремя основными режимами: сеткой приложений, экраном уведомлений и миниатюрами запущенных задач. Виртуальных рабочих столов, как в Android, тут нет, но к этому быстро привыкаешь.
Часть UI написана с использованием Silica — собственного расширения QML, которое Jolla не отдает сообществу (так же как и движок «умного» ввода текста). Все остальное имеет открытый исходный код.
Что касается аппаратов, на которых работает эта ОС, то это Jolla Jolla (sic!), Jolla C, Inoi R7 (смартфон среднего уровня под отечественным брендом) и несколько региональных моделей, названия которых вряд ли вам что-то скажут. М-да, звучит негусто… Но парни в Jolla вовремя подсуетились и поучаствовали в программе Sony Open Devices. Результатом стало создание отдельной версии Sailfish X для смартфонов Sony Xperia X и XA2. Это уже другое дело! Имея современную «соньку», можно заменить Android на Sailfish и вдохнуть воздух свободы полной грудью… Но, как в анекдоте, тут есть нюанс.
Нюансы Sailfish OS
Вы, конечно, понимаете, что ОС без своей экосистемы приложений мало чего стоит. Вокруг Jolla существует сплоченное, но все же маленькое сообщество, которое потихоньку создает приложения под свою любимую систему. «Из коробки» в Sailfish есть неплохой набор приложений, включая даже неплохой веб-браузер на Gecko. Но этого, конечно, мало.
Есть сайт openrepos.net — что-то вроде COPR в Fedora или OBS в openSUSE. Там можно найти много всего, но качество софта… не очень.
Понимая, что с такими ресурсами на рынке удержаться невозможно, основатели Jolla договорились со швейцарской компанией Myriad Group AG о лицензировании их продукта Alien Dalvik — сторонней реализации Android runtime. Для Sailfish стали доступны тысячи приложений из мира Android. Входной барьер низок как никогда: достаточно уметь скачивать файлы APK по ссылкам из Google Play.
В итоге, помимо Storeman (клиента для OpenRepos), в системе имеется полноценный «фирменный» клиент магазина Jolla, где примерно половина ассортимента помечена значком с роботом — это и есть приложения с Android. Интеграция с ними максимально бесшовная.
Второй момент, который тоже очень важен, — это наличие в операционной системе драйверов, позволяющих ей нормально поддерживать сторонние аппараты со всеми их датчиками и сенсорами. Со времен Nokia N9 (а это 2011 год) упомянутую проблему так никто и не решил, поэтому нативных драйверов для мобильного железа в Sailfish почти нет.
Из сложившейся ситуации команда Jolla вышла с помощью libhybris — специальной прослойки, которая позволяет системам на основе GNU C Library использовать проприетарные драйверы из Android. Libhybris развивается на GitHub в рамках проекта Mer — форка Meego. Отсюда же растут ноги и у многочисленных сторонних «адаптаций» Mer и Sailfish для таких телефонов, как OnePlus или Fairphone.
У Jolla есть официальное руководство по сборке собственной версии Sailfish на практически любом устройстве. Требования такие: разблокированный загрузчик и работающая кастомная сборка Android, откуда потребуется извлечь ядро Linux (Mer поддерживает все, что новее 2.6.35) и бинарные драйверы Android для периферии. Остальное описано в 59-страничной инструкции на sailfish.org. Отличное чтение для долгих зимних вечеров!
Итак, своих родных драйверов в Sailfish нет, поэтому сейчас самое время поправить слегка съехавшую шапочку из фольги: да-да, если вы подозреваете наличие низкоуровневой аппаратной закладки в своем телефоне, то Sailfish тут не поможет. Но в остальном это более чем годная система, и вот почему.
Почему Sailfish — это круто
Во-первых, Alien Dalvik — это очень классная штука, получше, чем Wine в Linux. Использование андроидных программ не ощущается как что-то инородное, а приложение Google Services с авторизацией в своем аккаунте Google вообще создает эффект работы на «чистом» Android. Скорость работы отличное, уведомления интегрируются с основной системой, бесконтактные платежи работают, чрезмерное использование батареи не наблюдается. При этом в настройках Sailfish имеется пункт, позволяющий отключить весь Alien Dalvik на корню (подозреваю, что через systemctl). В конце концов, музыкальный плеер, почта, карты и браузер у Sailfish есть свои, и они неплохо работают.
Во-вторых, наконец-то у вас появилась система, где рут делается простым тапом в настройках, после чего вы становитесь главным начальником собственного смартфона. Вы можете зайти на телефон по SSH, скомандовать devel-su и получить настоящую консоль с правами root.
Для управления пакетами тут имеется свой менеджер pkgcon, но в репозиториях есть и zypper, так что если вы когда-то админили сервер со SLES или хотя бы рабочую станцию openSUSE, то здесь вы почувствуете себя в своей тарелке.
Полный доступ к системе означает и то, что неосторожная попытка удалить важный пакет может потянуть за собой половину операционной системы, после чего телефон превращается в кирпич до следующей перепрошивки.
Третья причина — более низкий порог вхождения для разработчиков. Если вы уже писали что-то графическое на Qt, то перенести программу в Sailfish совсем не трудно, тем более что здесь используется декларативный язык QML, который требует навыков скорее веб-мастера, чем классического программиста.
Но вам необязательно становиться разработчиком, чтобы новая мобильная операционная система приносила положительные эмоции. У Sailfish есть кое-что еще. Точнее, нету: в отличие от кастомизированных производителем версий Android здесь нет неудаляемых приложений, вроде Facebook и «очень ценных» программ производителей смартфонов. Все как во взрослом десктопе: не нужно — значит, удаляем.
Вот еще одна интересная функция: система не выгружает приложения, которые висят в фоне. Никогда. Запущенные задачи не просто отображаются в виде миниатюр на экране обзора, а действительно работают, у них есть живые PID. Теоретически выгрузка должна происходить при исчерпании ОЗУ, но, сколько бы я ни запускал приложений на своей Jolla C, все они хоть и начинали в какой-то момент подтормаживать, однако продолжали работать.
Настройка Google Play на Sailfish OS
Вы скажете, что должны быть и недостатки Sailfish OS. Увы, они есть. Главный источник головной боли для пользователей Android заключается в том, что жить без Google Play не очень комфортно. Заведется ли он у вас по чьей-то левой инструкции — вопрос открытый. Я сам сталкивался с ситуацией, когда маркет работает, но не может ничего скачать, так как «ждет» правильного Wi-Fi и не реагирует на изменение соответствующей настройки.
Альтернатива всегда есть — это, прежде всего, сторонние маркеты, включая каталог «Яндекса» и магазин самой Jolla. Понятное дело, там не будет множества вкусных и полезных программ, и вам придется почувствовать себя старым пиратом, ищущим правильно сломанный софт, который не будет протестовать против твоего рутованного (с его точки зрения) телефона.
Тем не менее самый удобный вариант — это, конечно же, официальный гугловский маркет. Для работы с Google Play вам нужно скачать пакет Gapps и распаковать содержащиеся в нем файлы APK в папку /opt/alien/system/priv-app.
После чего необходимо дать файлам корректные права ( #), для чего сначала понадобится временно остановить Alien Dalvik:
1 2 3 4 |
$ devel-su $ systemctl stop aliendalvik.service && systemctl mask aliendalvik.service $ chmod 664 *.apk $ systemctl unmask aliendalvik.service && systemctl start aliendalvik.service |
Затем установите вручную Phonesky ( # apkd-install Phonesky.apk), и, в принципе, дальше можно скачать и установить APK для Google Play (например, через apkmirror.com). Годится не любая версия, а конкретная: Google Play Store 7.3.25. Если после установки дать магазину обновить сам себя, то все сломается, поэтому сразу же блокируем автообновление:
1 2 3 |
$ devel-su $ touch /data/app/com.android.vending-2.apk $ chattr +i /data/app/com.android.vending-2.apk |
Как видите, ничего сложного в использовании Google Play на Sailfish OS нет. Приятный бонус: вас не будут донимать бесконечные обновления, которые приходят владельцам Android чуть ли не каждый день. К слову, сама Sailfish обновляется по OTA, примерно раз в два-три месяца. Если не брать в расчет мелкие баги, которые присущи любому небольшому проекту, то единственный крупный недостаток системы — это малое число поддерживаемых смартфонов.
По идее, ничто не мешает окунуться в мир «адаптаций» libhybris и Mer, полистать нужные темы на XDA Developers и утянуть сборку Sailfish для уже слегка окаменевших аппаратов HTC и Motorola родом из 2015 года. Нужно новое железо? Тогда только Sony или недоступный в России смартфон с qwerty-клавиатурой Gemini PDA. В Jolla, видимо, поняли, что делать собственный смартфон слишком трудно и дорого, поэтому руководство компании разумно предпочло кооперироваться с более крупными поставщиками.
РЕКОМЕНДУЕМ:
Как устроена операционная система Android
В итоге у нас есть версия Sailfish X для устройств Sony, и, кстати, за нее просят всего 49 евро (впрочем, есть и бесплатная сборка — без предиктивного ввода и поддержки приложений Android 4.4 и более ранних). Но тут есть небольшая загвоздка: магазин Jolla позволяет купить ОС только жителям Евросоюза. Сайт определяет нахождение клиентов по DNS (см. комментарии к релизу), но вы наверняка знаете, как обойти это ограничение.
Заключение
Готов ли вы иногда собирать из комплектующих кровать перед сeксом и в целом слегка выйти из зоны комфорта, которую нам заботливо создали Google и Apple? Разумеется, ради прекрасной идеи, чувства свободы и атмосферы приключений. Если да, то вас ждет клуб странных, но отчаянных людей. Если у вас на десктопе Linux, вы почувствуете себя как у себя дома.
Вы лучше ответьте на короткий вопрос — Salfish проект ФСБ?
Sailfish OS не имеет никакого отношения к спецслужбам.
Так какой из них вам нравится больше: SailfishOS или LineageOS?
Так и нет внятного и русского мануала о том, как на своём ведрофине собрать рыбку…вместо того чтобы налить воды, лучше бы рассказали как собрать и избавится от aнaльных зондов Гугла.