[Из песочницы] Опыт реального использования LigthBiz OS
Преамбула
Мое хобби с давних пор — использование экзотических платформ в качестве повседневного рабочего места. Началось оно, пожалуй, в середине 90-х с появлением первых дистрибутивов Linux, первых графических оболочек и приложений для Linux. Далее в разные годы я использовал в качестве десктопа то консоль Sony PS3 (с которой пришлось соскочить, когда поддержку Linux прекратили, а сломать ещё не успели), то китайский нетбук Lemote Yeeloong… С появлением телевизионных приставок на Android я перепробовал несколько моделей, начиная с Allwinner A10, после перешел на Rockchip — 3066, 3188, 3288. Все приставки настраивал в dual boot — Android для фильмов и игр и Debian для работы. К слову, наработки позже были использованы в паре проектов.
При этом мне все больше и больше нравился Android как система, особенно в свете последних новшеств в Linux, типа повсеместного насильного внедрения systemd, зоопарка оболочек и тулкитов и проч. Да и постепенно стали появляться или находиться инструменты для решения моих задач, плюс появились задачи по разработке под Android, которые стало можно решать без возни с эмуляторами.
Таким образом, когда в середине прошлого года стали появляться анонсы десктопных версий Android — Remix, LightBiz, позже Phoenix, я понял — хочу!
Заказал на кикстартере Remix Mini, в ноябре он приехал. В эти же дни появилась прошивка LightBiz OS для моего нынешнего устройства Ugoos UM3. Так что получилась прекрасная возможность выбора. Однако Remix был отвергнут практически сразу, поскольку некоторые приложения (буквально пара, но нужных мне) в его оконном режиме корёжило. Так я остался с LightBiz OS, и сейчас использую эту систему 98% времени.
Итак, устанавливаем!
Скачиваем обновление с ugoos.net. К сожалению, OTA недоступно, требуется полная перепрошивка. Благо, утилиты прошивки Rockchip прекрасно работают в VirtualBox. В комплекте идёт подробная инструкция в картинках.
После первого запуска желательно сразу установить все необходимые приложения от Google, чтобы не допустить появления ошибок 9**, чем грешат многие китайские устройства. Дальнейшая настройка, установка приложений осуществляется как обычно. Root устанавливается штатно — отдельной опцией в настройках.
Поскольку система всё же изначально разрабатывалась для телевизора, для использования её в качестве десктопа на мониторе целесообразно уменьшить DPI. Я экспериментально подобрал значение 160.
И наконец то, ради чего всё затевалось! Заходим в настройки экрана и включаем многооконный режим.
Экран на секунду гаснет, и мы видим привычный по классическим десктопным ОС трей с кнопкой «Пуск», часами, индикаторами и иконками запущенных приложений. По нажатию на часы появляется календарь.
По нажатию на индикатор уведомлений — панель уведомлений из Lollipop.
Работа с окнами в LightBiz несколько отличается от того, что мы привыкли видеть и что было реализовано в Remix. Окна можно перемещать по экрану, но нельзя произвольно изменять их размер. Это сделано для того, чтобы не нарушить работу приложений, рассчитанных на полный экран, а таких в Android чуть меньше, чем все.
Система предлагает 3 варианта показа приложений:
- Планшетный режим. Окно открывается во весь экран, но может быть пропорционально уменьшено до ¾ или 9/16 размера десктопа. При этом содержимое окна соотвественно масштабируется. В уменьшенном состоянии может быть перемещено в любое место десктопа.
- Телефонный режим. Вертикально вытянутое окно, высотой чуть меньше высоты десктопа, шириной чуть меньше половины ширины десктопа. Размер зафиксирован, перемещение свободное.
- Сплит-режим. В этом режиме окно занимает ровно пол-десктопа в ширину и весь десктоп в высоту. Перемещение возможно из левой половины в правую и наоборот.
На первый взгляд ограничения могут показаться чрезмерными, тем не менее, они совершенно не мешают комфортному использованию системы. Просто необходимо понять, какие приложения следует использовать в каком режиме. Я для себя подобрал следующие варианты:
Планшетный режим во весь экран — для видео и игр:
Уменьшенные планшетные режимы — для IDE (AIDE) и шелла (Termux):
Сплит-режим — для браузера и Google Docs/Tables:
И наконец, телефонный режим — для практически всех остальных приложений.
Так уж сложилось, что я лучше всего воспринимаю узкие полосы текста. Потому мне комфортнее всего запускать социалки, RSS, чаты, интернет-магазины именно в телефонном режиме.
Отдельная тема — запуск Linux. К сожалению, единственный способ полноценно использовать графические приложения Linux в Android, XSDL и его последователь Debian noroot, в LightBiz работают крайне криво. Во-первых, курсор мыши в X либо смещен относительно курсора в Android, либо вовсе не двигается, события перемещения без нажатия теряются. Во-вторых, окно X всегда открывается во весь экран, не минимизируется. Но мне удалось найти в Android аналоги почти всего, чем я реально пользовался в Linux. Особо хочу отметить Termux — приложение терминала, позволяющее устанавливать консольные утилиты через привычный apt для работы непосредственно в Android!
Для отладки же собственных Linux-проектов пришлось использовать VNC. Ранее для одного из проектов я уже сделал клиент LocalhostVNC — форк androidVNC, из которого выброшено всё, не имеющее отношения к задаче «подключиться к localhost:5900, показать картинку в исходном масштабе и передать события», а также существенно увеличена скорость отрисовки. В LightBiz я также получил смещенный курсор мыши, однако всё решилось переносом кода переопределенного onTouchEvent из Activity во вложенный ImageView.
В системе есть и баги. Их немного, жить они не мешают, но есть. Ожидаю, что в последующих ревизиях их исправят, багрепорты я отправил.
- Часы в трее всегда показывают китайское время utc+8, при этом в настройках может быть установлена любая таймзона.
- Система нередко самопроизвольно прячет окна. Механизм паузы/остановки Activity требует доработки.
- В трее нет кнопок громкости, хотя работают аппаратные клавиши на клавиатуре.
- Не сохраняются позиции окон и масштаб окон в планшетном режиме. Сам режим — сохраняется.
- Далеко не во всех приложениях работает прокрутка колесом мыши. Однако жест кинетической прокрутки оказался настолько удобным, что в последнее время мне его стало не хватать под Linux.
Заключение
Надеюсь, что мне удалось показать, что Android — вопреки распространенному заблуждению, система не только «для потребления контента», но и полноценное рабочее место. При этом — удобна, проста в настройке, масштабируема от 5-дюймового смартфона до 24-дюймового и более монитора и позволяет пользоваться на всём спектре устройств одними и теми же удобными приложениями.