Всем привет! Я уже давно хотел написать небольшую статью относительно моего пользовательского опыта работы с операционной системой Ubuntu Touch, которую я использую в качестве основной уже более года, и, поскольку некоторым откликнувшимся пользователям пикабу это показалось интересным для чтения, я рад стараться :)
Прежде всего, следует понимать, что Ubuntu Touch (далее UT) – это не типичный GNU/Linux дистрибутив, к которым все привыкли на десктопе и серверных машинах. UT – дистрибутив для мобильных девайсов (смартфоны, планшеты) и заточен под работу на этих самых девайсах. Все существующие приложения сделаны (либо портированы) именно для UT – привычных используемых десктопных GNU программ в OpenStore (местный центр приложений) вы здесь не увидите (но запустить их возможно, об этом ниже). На данный момент над дистрибутивом работает сообщество UBports, взявшее разработку и портирование в свою руки после того как Canonical прекратили какую-либо поддержку и разработку UT.
Почему я использую именно UT в качестве основной ОС, а не Android или iOS? Я не гик, не ненавистник всего гугловского и проприетарного и не скрываюсь от большого брата (UT – privacy-friendly ОС, в чем несомненно её плюс). Мне просто нравится GNU/Linux и я привык работать именно в этой операционной системе, да и в UT присутствуют необходимые мне для повседневной жизни приложения. Наличие её у меня на смартфоне это не только интересный для меня опыт, но и удобство, ведь всё для меня здесь привычно :)
1. Пользовательский интерфейс.
В качестве графического окружения UT использует Lomiri, ранее именовавшуюся Unity 8. Всё работает довольно плавно и быстро – я не замечал каких-либо тормозов или каких-то особых проблем с DE. Управление происходит жестами, позволяя переключаться между приложениями, открывать панельку для запуска других приложений, перетаскивать окна между собой для совместного использования двух приложений (в desktop и tablet режиме) и изменять размер окна приложения (в desktop режиме). Десктопный режим сделан настолько удобно, что порой я его использовал постоянно. К сожалению, привычной возможности "вернуться назад" в виде жеста нет, что для меня не совсем удобно – приходится тянуться большим пальцем в верхнюю часть экрана.
Программное обеспечение для UT поставляется через местный центр приложений OpenStore, представляющий из себя удобный каталог уже собранных .click пакетов. Конечно же, ничего не мешает устанавливать и отсутствующие в OpenStore приложения. С переходом на 20.04 некоторые мне приходилось собирать на домашней машине и устанавливать уже на UT. Приложения делятся на два типа – нативные, использующие QML, и веб-приложения – обертки веб-версий каких-либо популярных сервисов, нередко чем-либо дополненные для более удобного использования на мобильном устройстве.
Из интересующего для обыденного пользователя присутствуют навигационные приложения, почтовый клиент, читалки, мессенджеры (нативный клиент телеграм – TELEports, Cinny для Matrix, ConverseJS для XMPP), менеджер паролей, проигрыватель подкастов, просмотрщик документов и прочее.
Конечно же, вы здесь не найдете привычных для многих проприетарных мессенджеров (WhatsApp, Viber), банковских приложений, доставки еды и такси. Можно ли жить без всего этого? – Для каждого пользователя свой ответ на этот вопрос. Для тех же, кто не может без всего этого обойтись, есть выход – эмулятор Android.
3. Запуск Android приложений.
Запуск Android приложений осуществляется благодаря эмулятору Waydroid, работающим в контейнере. В качестве образа Android поставляется Lineage OS, с возможностью установить его вместе с Google сервисами. Установленные в Waydroid приложения отображаются вместе с остальными в панельке всех приложений. Я же их скрываю, мне так удобнее ;)
К слову, использовать Waydroid постоянно не самая лучшая идея – это не очень хорошо сказывается на времени работы устройства от аккумулятора. Я его использую не так часто, а только когда мне требуется зайти в банковское приложение, вызвать такси или заказать еду. Доступа к WiFi или Bluetooth у Waydroid нет (я ношу фитнес-браслет и для того, чтобы собирать данные с браслета, приходится использовать второй девайс с Lineage OS) , интернет-соединение осуществляется через виртуальный интерфейс. Но есть доступ к NFC, мне удавалось пополнить карту “тройка” через приложение московского транспорта.
4. Запуск десктопных программ.
Для запуска десктопных программ используется Libertine – контейнер с такой же пакетной базой, как и в Ubuntu Touch. Я не вижу особого смысла в большинстве десктопных программ на смартфоне, как минимум из-за размера экрана. Тем не менее, время от времени я использую Firefox и десктопную версию клиента Telegram. Запуск десктопных программ может иметь смысл для тех, кто подключает свой девайс к внешнему монитору и использует его не только как телефон, но и как “переносной компьютер”. К сожалению, не все программы стабильно работают, но, тем не менее, они работают :)
Помимо запуска десктопных программ, Libertine следует использовать и для большинства устанавливаемых CLI-утилит. Почему? Об этом ниже.
5. Advance Packaging Tool и прочие радости жизни.
Изначально корень смонтирован как read-only, соответственно использование apt не является поддерживаемым способом установки программного обеспечения, а apt upgrade вероятнее всего поломает все, что хорошо работает. Конечно же, всегда можно перемонтировать корень в read/write, но следует помнить, что это неподдерживаемый способ установки программного обеспечения, ведь обновления ОС поставляются в виде образа, как, например, обновления OpenWRT. Для различных утилит, которые мы обычно устанавливаем через apt, следует использовать Libertine, что я и делаю. Но если мне требуются более свежие пакеты, я запускаю их в chroot, используя rootfs какого-либо другого дистрибутива (например, Manjaro). На самом деле я, как и, наверное, большинство остальных юзеров UT – постоянно лезу в систему, могу установить какие-то нужные мне утилиты через apt в обход рекомендованных сообществом способов.
Из коробки поставляется OpenVPN (2.3.10 – для Xenial, 2.4.7 – для Focal). Есть поддержка Wireguard (приложение на Xenial, через NetworkManager на Focal) при условии поддержки wireguard ядром, что я обычно и использую.
Подключение через OpenVPN более удобное, достаточно нажать на кнопочку в панельке. С Wireguard же либо через приложение, либо nmcli, nmtui. Я предпочитаю через терминал)
Следует понимать, что UT не использует проприетарные сервисы Google, которые помогают с геолокацией устройства как на Android, так что геолокация здесь, если можно так выразиться, нативная, как в навигаторе.
На моем опыте показала себя хорошо, хотя в первое время использования я и не знал, что ей требуется холодный старт для первичной инициализации местоположения, и вовсе думал, что у меня GPS не работает… Огромный недостаток геолокации на UT – она, черт возьми, не может работать в фоновом режиме. К слову говоря, практически все программы в UT в фоновом режиме останавливаются, но их можно всегда переключить на возможность работать в фоне – включил что-либо на Youtube, заблокировал телефон и слушаешь :)
Из интересного, что я ещё использую на UT, помимо привычных мне GNU утилит, – приложение ISODrive, позволяющее использовать смартфон для запуска LiveCD образов на компьютере. Также совсем недавно появилась возможность запуска x86_64 Windows программ, которой я пока не нашел никакого применения – правда, не знаю что запускать. Помимо этого, есть классные фичи, которые я хотел бы использовать, но это на данный момент не поддерживается моим устройством (либо ядром – его, конечно же, можно кастомизировать и собрать свой образ на основе порта). Одна из них – запуск виртуальных машин (arm64, x86_64) на устройстве, другая – использование беспроводного монитора, которое дает возможность вместе с подключенной переферией использовать девайс “как компьютер” :)
Конечно же, проблем тоже хватает, и, исходя из моего опыта, на моем девайсе есть некоторые проблемы с bluetooth драйверами, что делает работу bluetooth не всегда стабильной. Обычно мне помогает перезапуск демона, либо перезагрузка девайса, что доставляет порой небольшой дискомфорт. И, соответственно, устройств с поддержкой всего на ~100% не так много, на определенных девайсах что-то может работать, на других нет.
Что меня ещё радует в Ubuntu Touch, так это сообщество, которое делится своими хаками, наработками и приходит на помощь при различных вопросах и проблемах.
Благодарю всех, кто уделил свое внимание и время на данный пост и буду рад ответить на ваши вопросы, если таковые будут!)