Как я могу настроить и запустить образ Ubuntu Base для Arm на своем Android телефоне без рутирования?

Вопрос или проблема

Я хотел бы настроить хостинг Canonical образ Ubuntu Base для arm на своем Android телефоне.

Мне нужен простой пошаговый ответ, как начать.

Я хотел бы использовать Ubuntu для запуска приложений на своем телефоне без рутирования.

Смотрите этот вопрос для установки приложений.

Настройка Ubuntu в Termux включает три части,

  1. Установка базового образа
  2. Установка графической оболочки (в этом ответе я буду использовать XFCE, так как она удобна для пользователя и не тяжелая) и сервера VNC
  3. (по желанию) Включение звука, так как протокол VNC не поддерживает звук

Самый простой метод – если вы не хотите пачкать руки, установите Termux, и просто скачайте либо Andronix (Веб-сайт, GitHub), либо AnLinux и установите Ubuntu 20.04 с их помощью. Эти приложения предоставляют скрипты для загрузки и извлечения базового образа, установки графических оболочек (например, XFCE) и настройки сервера VNC, которые вам просто нужно скопировать и вставить в Termux.

введите описание изображения здесь
введите описание изображения здесь
введите описание изображения здесь

Пользовательский интерфейс Andronix

Как это использовать?

Когда все настроено, введите команду ./start-ubuntu20.sh, чтобы открыть Ubuntu, и команду exit, чтобы выйти из Ubuntu. После запуска Ubuntu введите команду vncserver-start, чтобы запустить сервер VNC (с рабочим столом XFCE), и команду vncserver-stop, чтобы остановить его.
(к сожалению, он называется ubuntu20, хотя это на самом деле Ubuntu 20.04, а не Ubuntu Core 20. Как только вы поймете, как работает скрипт, вы можете переименовать все в ubuntu20.04 или что-то еще)

введите описание изображения здесь
Некоторые записи (например, время работы) неправильные из-за поддельных /proc записей, в противном случае последние версии Android не позволили бы Ubuntu работать.

Как получить доступ к рабочему столу XFCE с помощью VNC Viewer?

Установите приложение VNC Viewer на Android, например, VNC Viewer – удаленный рабочий стол или androidVNC. И откройте адрес localhost:5901, чтобы подключиться к серверу VNC.
Совет: выберите качество: высокое или 24-битный цвет (4 bpp) для лучшего качества изображения. Также VNC Viewer - удаленный рабочий стол хорошо поддерживает портретный и альбомный режимы. Другие VNC-проигрыватели, похоже, не имеют хорошей поддержки портретного режима.

xfce foliate
Приложения, работающие на рабочем столе XFCE. Я установил тему иконок Tango и тему GTK Arc

Однако эти приложения загрузят Ubuntu Base из своего репозитория на GitHub (где они сохранили копию), а не с веб-сайта Canonical.
Все скрипты в этих приложениях доступны в их репозиториях на GitHub под свободными лицензиями.

Что делает этот скрипт?

Этот скрипт загружает образ корневой файловой системы Ubuntu для архитектуры вашего устройства, а затем настраивает его для работы с proot. Последние версии Android (v10, v11) накладывают некоторые ограничения, и именно поэтому этот скрипт создает поддельные записи в /proc, чтобы обмануть Ubuntu и Android, заставляя их работать нормально.


Включение звука

Andronix создал скрипт для включения звука.
Запустите следующую команду в терминале Termux (не в Ubuntu).

 pkg install wget && wget https://andronixos.sfo2.cdn.digitaloceanspaces.com/OS-Files/setup-audio.sh && chmod +x setup-audio.sh && ./setup-audio.sh

Чтобы использовать звук

Запустите Ubuntu в терминале Termux и откройте другой терминал Termux (не открывайте Ubuntu там).
Запустите pulseaudio --start в новом терминале Termux (не в Ubuntu), и теперь Ubuntu сможет воспроизводить звук.
Демонстрация звука – видео на YouTube

Обратите внимание, что файл setup-audio.sh непонятен (возможно, чтобы конкуренты Andronix не могли его использовать), а его человеко-читаемую форму можно найти здесь.
Он настолько непонятен, что на Unix & Linux Stack Exchange подумали, что это может быть вредоносным ПО, но я проверил, что это не так.


Немного более сложный метод – объедините шаги 1 и 2 в один раз (но загружайте образы с Canonical, а не из репозитория GitHub Andronix).

Andronix имеет автоматизированный скрипт для загрузки корневой файловой системы, установки графической оболочки, а затем настройки сервера VNC.

Однако скрипт Andronix загружает корневую файловую систему из их репозитория на GitHub (переименованная версия корневой файловой системы Ubuntu 20.04 (не 20.04.2)), а не с сервера Canonical.

Мы изменим скрипт, чтобы использовать образ с сервера Canonical вместо этого.
Сначала установите wget и nano в Termux (если еще не установлены), а затем загрузите скрипт.

pkg install wget nano

wget https://github.com/AndronixApp/AndronixOrigin/blob/master/Installer/Ubuntu20/ubuntu20-xfce.sh

Теперь откройте скрипт в Nano.

nano ubuntu20-xfce.sh

Измените содержимое строки 29 (используйте либо клавиатуру хакера, либо scrcpy – см. Советы: #6. В противном случае редактировать на мобильном устройстве трудно),

wget "https://github.com/AndronixApp/AndronixOrigin/raw/master/Rootfs/Ubuntu20/focal-${archurl}.tar.gz" -O $tarball

на следующее

wget "https://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.2-base-${archurl}.tar.gz" -o $tarball

Теперь сохраните файл (ctrl + x), и запустите его.

sh ubuntu20-xfce.sh

Теперь перейдите к Как это использовать? и Как получить доступ к рабочему столу XFCE? (в предыдущих частях ответа). Вы также можете следовать Включение звука, чтобы включить звук.


Системные требования:

  • Недавние версии Termux работают на Android 7 и выше. Однако вы можете загрузить немного более старые версии Termux, которые работают на Android 5 и 6 (я проверил, что они работают правильно).
  • Корневая файловая система Ubuntu + рабочий стол XFCE занимают ~ 1 ГБ дискового пространства и ~ 300 МБ ОП.

Безопасность

По умолчанию корневая файловая система Ubuntu не может получать доступ к файлам на вашем Android телефоне. Данные в Termux изолированы от других данных в Android. И вы можете легко удалить все файлы в Termux (включая Ubuntu), удалив данные приложения в настройках Android. Тем не менее, я не несу никакой ответственности за какие-либо проблемы, возникающие в результате следования этому ответу. Количество звезд на GitHub даст вам представление о том, сколько людей используют эти скрипты. Они не являются вредоносными.

Советы:

  1. Вы можете изменить разрешение экрана в VNCServer. Я обнаружил, что разрешение 700x1500 (в портретном режиме) работает очень хорошо на экране моего телефона размером 6.5 дюйма.
  2. Vanilla XFCE скучно, вы можете установить свои любимые темы иконок и GTK.
  3. Вы можете отредактировать start-ubuntu20.sh/startubuntu.sh, чтобы получить доступ к внутреннему хранилищу и sdcard вашего телефона.
  4. По умолчанию используется учетная запись root. Однако вы можете создать не-root учетную запись с помощью su -s username и дать им доступ sudo.
  5. Выбирайте качество: высокое или 24-битный цвет (4 bpp) в VNC Viewer для лучшего качества изображения.
  6. Чтобы редактировать файлы в Termux, установите клавиатуру хакера (Google Play, F-Droid) на Android или используйте scrcpy, чтобы использовать клавиатуру вашего компьютера для редактирования.
  7. Контейнеризированные приложения (например, snaps и flatpak) известны тем, что не работают этим методом. Цитируя из документов Andronix

Пакеты SNAP/Docker/Flatpak не могут быть установлены ни в одной среде Linux. Основные причины – это то, что оба требуют модулей ядра и шины, которые недоступны в среде PRoot, и второе – это то, что оба в основном ориентированы на архитектуры Intel/AMD, а не на arm архитектуру.

Не стесняйтесь редактировать этот ответ, чтобы улучшить его.

Ответ или решение

Установка и запуск образа Ubuntu Base для ARM на Android без получения root-прав

Если вы хотите установить образ Ubuntu Base для ARM на своем Android-устройстве без рутирования, вы можете использовать приложение Termux в сочетании с дополнительными инструментами, такими как Andronix или AnLinux. Ниже приведены пошаговые инструкции по установке и настройке.

Шаг 1: Установка Termux

  1. Загрузите и установите приложение Termux из Google Play или F-Droid.
  2. Откройте Termux и дайте ему несколько минут для загрузки.

Шаг 2: Установка Andronix или AnLinux

Andronix

  1. Установите Andronix из официального сайта или GitHub.
  2. В Andronix выберите версию Ubuntu (например, 20.04) и следуйте инструкциям на экране.

AnLinux (альтернативный вариант)

  1. Загрузите AnLinux из GitHub.
  2. Следуйте инструкциям для загрузки и установки образа Ubuntu.

Шаг 3: Установка и настройка окружения рабочего стола

  1. В терминале Termux выполните команду, чтобы установить необходимые пакеты:
    pkg install wget nano
  2. Скачайте скрипт установки рабочего стола XFCE:
    wget https://github.com/AndronixApp/AndronixOrigin/blob/master/Installer/Ubuntu20/ubuntu20-xfce.sh
  3. Откройте скачанный файл в редакторе Nano:
    nano ubuntu20-xfce.sh
  4. Измените строку загрузки образа Ubuntu с GitHub на официальный сайт Canonical:
    wget "https://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.2-base-${archurl}.tar.gz" -O $tarball
  5. Сохраните изменения, нажав Ctrl + X, затем Y, и Enter.
  6. Запустите скрипт:
    sh ubuntu20-xfce.sh

Шаг 4: Запуск Ubuntu и VNC-сервера

  1. Запустите Ubuntu с помощью следующей команды:
    ./start-ubuntu20.sh
  2. Находясь в Ubuntu, запустите VNC-сервер:
    vncserver-start

Шаг 5: Доступ к XFCE через VNC-клиент

  1. Установите VNC-клиент, например: VNC Viewer – Remote Desktop или androidVNC.
  2. Подключитесь к серверу, используя адрес:
    localhost:5901
  3. Настройте качество изображения в настройках VNC-клиента для оптимизации отображения.

Шаг 6: (Опционально) Включение звука

Для того чтобы обеспечить воспроизведение звука в Ubuntu, выполните следующие команды в терминале Termux (не в Ubuntu):

pkg install wget && wget https://andronixos.sfo2.cdn.digitaloceanspaces.com/OS-Files/setup-audio.sh && chmod +x setup-audio.sh && ./setup-audio.sh
pulseaudio --start

Заключение

Теперь вы настроили и запустили Ubuntu Base для ARM на своем Android-устройстве без рутирования. Вы можете устанавливать приложения, использовать рабочий стол и наслаждаться полными возможностями Ubuntu. Однако имейте в виду, что контейнеризированные приложения, такие как Snap и Flatpak, не поддерживаются в этом окружении.

Обратите внимание на требования к системе и на то, как вы можете управлять ресурсами, чтобы обеспечить оптимальное выполнение Ubuntu на вашем устройстве. Если у вас есть дополнительные вопросы или трудности, ваш опыт использования Termux и полезный контент Andronix помогут вам найти решения.

Оцените материал
Добавить комментарий

Капча загружается...