Linux Desktop + Android Apps, запуск и интеграция

Не совсем по теме самохостинга, ну раз уж тут Asahi Linux пишут, то добавлю свои 2 копейки.

В качестве основного дистрибутива последние лет 15 использую Ubuntu, может быть и перешел бы на что-то другое, но перенастраивать все не хочется.

Обязательным условием является использование Wayland, но на него уже все переходят

Ну и в качестве DE у меня KDE Plasma, это не обязательно, но лучше интегрируется

            .-/+oossssoo+/-.               krom@krom-pc 
        `:+ssssssssssssssssss+:`           ------------ 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 25.10 x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: MS-7C94 1.0 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 6.17.0-19-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 6 hours, 20 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 5474 (dpkg), 93 (flatpak), 11 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: zsh 5.9 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: Plasma 6.5.6 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: kwin 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Breeze-Dark [GTK2], Breeze [GTK3] 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: breeze-dark [GTK2/3] 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: yakuake 
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: AMD Ryzen 7 5700G with Radeon Graphics (16) @ 4.673GHz 
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: NVIDIA GeForce RTX 2060 SUPER 
    .ossssssssssssssssssdMMMNysssso.       Memory: 15893MiB / 64186MiB 
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`                                   
            .-/+oossssoo+/-.                                       

Для запуска Android приожений используем Waydroid

Он запускает в контейнере Android на той же архитектуре, что и хостовая ОС, это имеет свои особенности

  • Нативная производительность, т.к. нет эмуляции процессора
  • Не весь софт есть под целевую архитектуру

Waydroid может запускаться как в виде полноценного Android окружения, так и в формате запуска приложений с фоновой работой системы
При этом, есть Play Market и интеграция с системными приложениями

Оконное приложение:

Поскольку, Android запускается в формате виртуального окружения с сетью в мосте, то интеграция с системой ограничена, давайте это поправим
Открываем play market и устанавливаем KDE Connect


Устанавливаем KDE Connect на компе и связываем их между собой

Можем настроить синхронизацию уведомлений и мультимедиа

И теперь при запуске мультимедийного приложения у нас оно интегрируется в систему

Мы видим текущий статус и можем управлять воспроизведением как с виджетов, так и с клавиатуры, далее по виртуальной сети это тоже интегрируется

Нет нативного приложения для Meshtastic? Не проблема, ставим Android App

А еще KDE Connect синхронизирует буфер обмена

И уведомления

Естественно, имеется консольная утилита, которая позволяет управлять, обновлять и устанавливать apk файлы

$ waydroid --help
usage: waydroid [-h] [-V] [-l LOG] [--details-to-stdout] [-v] [-q] {status,log,init,upgrade,session,container,app,prop,show-full-ui,first-launch,shell,logcat,adb,bugreport} ...

options:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -l, --log LOG         path to log file
  --details-to-stdout   print details (e.g. build output) to stdout, instead of writing to the log
  -v, --verbose         write even more to the logfiles (this may reduce performance)
  -q, --quiet           do not output any log messages

action:
  {status,log,init,upgrade,session,container,app,prop,show-full-ui,first-launch,shell,logcat,adb,bugreport}
    status              quick check for the waydroid
    log                 follow the waydroid logfile
    init                set up waydroid specific configs and install images
    upgrade             upgrade images
    session             session controller
    container           container controller
    app                 applications controller
    prop                android properties controller
    show-full-ui        show android full screen in window
    first-launch        start waydroid, prompting to initialize waydroid first if necessary (default)
    shell               run remote shell command
    logcat              show android logcat
    adb                 manage adb connection
    bugreport           create a bugreport archive interactively

Сами приложения (спасибо Android, ужасаюсь запуску ios приложений на arm macos) запускаются как независимые оконные приложения + можно изменять размер как обычно

Ну и в статусной строке тоже отображаются нормально
image

Ну и полезна будет справка, где можно будет прочитать, как деактивировать экранную клавиатуру и вводить текст с основной

Можно монтировать локальные каталоги внутрь Android окружения

sudo mount --bind ~/Documents ~/.local/share/waydroid/data/media/0/Documents 

Игры не пробовал играть, но по идее, должно что-то получаться

Какие минусы есть у данного решения? А куда же без них

  1. При первом запуске приложения запускается сам контейнер, это занимает секунд 10 и на несколько секунд появляется экран загрузки Adnroid поверх всего, но потом приложения работают нормально
  2. Не все есть приложения под x86, например, у меня недоступны приложения видеорегистраторов оказались
  3. Клавиатуру надо настраивать, переключение раскладки тоже и сочетание тоже отдельно + по нажатию Win и других клавиш могут вылазить всякие поиск и прочее
  4. Нет интеграции с треем, соответственно, при закрытии приложения оно не закрывается, а уходит в фон, но в трей не сворачивается
  5. Все равно могут быть проблемы с буфером обмена
  6. У меня не запустилась веб камера, микрофон и bluetooth, вроде как камеру можно пробросить по сети, по BT читал на форумах, что в теории можно запустить, wifi тоже не работает, тут больше проблема в том, что некоторый софт требует его, например, яндекс музыка не хочет отправлять звук на google cast, а УД от гугла ругается, что для поиска устройств ему нужен wifi и bluetooth
  7. Иногда может сбоить или глючить, например, у меня не работает перетаскивание окна между мониторами (как я понял, создается виртуальный экран и потом они объединяются) или если нажать на неактивное окно и начать его двигать, то оно подлазить под активное окно (не меняется активное окно, но если сначала нажать на него, а потом перетаскивать, то ок) или иногда виртульный экран становится на 1/4 от основного, приложения мелкие и не двигаются по всему экрану

Но в остальном, вполне рабочая тема, пользуйтесь

4 лайка