- Вопрос или проблема
- Как это использовать?
- Как получить доступ к рабочему столу XFCE с помощью VNC Viewer?
- Включение звука
- Чтобы использовать звук
- Немного более сложный метод – объедините шаги 1 и 2 в один раз (но загружайте образы с Canonical, а не из репозитория GitHub Andronix).
- Системные требования:
- Безопасность
- Советы:
- Ответ или решение
- Установка и запуск образа Ubuntu Base для ARM на Android без получения root-прав
- Шаг 1: Установка Termux
- Шаг 2: Установка Andronix или AnLinux
- Шаг 3: Установка и настройка окружения рабочего стола
- Шаг 4: Запуск Ubuntu и VNC-сервера
- Шаг 5: Доступ к XFCE через VNC-клиент
- Шаг 6: (Опционально) Включение звука
- Заключение
Вопрос или проблема
Я хотел бы настроить хостинг Canonical образ Ubuntu Base для arm на своем Android телефоне.
Мне нужен простой пошаговый ответ, как начать.
Я хотел бы использовать Ubuntu для запуска приложений на своем телефоне без рутирования.
Смотрите этот вопрос для установки приложений.
Настройка Ubuntu в Termux включает три части,
- Установка базового образа
- Установка графической оболочки (в этом ответе я буду использовать XFCE, так как она удобна для пользователя и не тяжелая) и сервера VNC
- (по желанию) Включение звука, так как протокол 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. Я установил тему иконок 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 даст вам представление о том, сколько людей используют эти скрипты. Они не являются вредоносными.
Советы:
- Вы можете изменить разрешение экрана в VNCServer. Я обнаружил, что разрешение
700x1500
(в портретном режиме) работает очень хорошо на экране моего телефона размером 6.5 дюйма. - Vanilla XFCE скучно, вы можете установить свои любимые темы иконок и GTK.
- Вы можете отредактировать
start-ubuntu20.sh
/startubuntu.sh
, чтобы получить доступ к внутреннему хранилищу и sdcard вашего телефона. - По умолчанию используется учетная запись root. Однако вы можете создать не-root учетную запись с помощью
su -s username
и дать им доступ sudo. - Выбирайте
качество: высокое
или24-битный цвет (4 bpp)
в VNC Viewer для лучшего качества изображения. - Чтобы редактировать файлы в Termux, установите клавиатуру хакера (Google Play, F-Droid) на Android или используйте scrcpy, чтобы использовать клавиатуру вашего компьютера для редактирования.
- Контейнеризированные приложения (например, 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
- Загрузите и установите приложение Termux из Google Play или F-Droid.
- Откройте Termux и дайте ему несколько минут для загрузки.
Шаг 2: Установка Andronix или AnLinux
Andronix
- Установите Andronix из официального сайта или GitHub.
- В Andronix выберите версию Ubuntu (например, 20.04) и следуйте инструкциям на экране.
AnLinux (альтернативный вариант)
- Загрузите AnLinux из GitHub.
- Следуйте инструкциям для загрузки и установки образа Ubuntu.
Шаг 3: Установка и настройка окружения рабочего стола
- В терминале Termux выполните команду, чтобы установить необходимые пакеты:
pkg install wget nano
- Скачайте скрипт установки рабочего стола XFCE:
wget https://github.com/AndronixApp/AndronixOrigin/blob/master/Installer/Ubuntu20/ubuntu20-xfce.sh
- Откройте скачанный файл в редакторе Nano:
nano ubuntu20-xfce.sh
- Измените строку загрузки образа 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
- Сохраните изменения, нажав
Ctrl + X
, затемY
, иEnter
. - Запустите скрипт:
sh ubuntu20-xfce.sh
Шаг 4: Запуск Ubuntu и VNC-сервера
- Запустите Ubuntu с помощью следующей команды:
./start-ubuntu20.sh
- Находясь в Ubuntu, запустите VNC-сервер:
vncserver-start
Шаг 5: Доступ к XFCE через VNC-клиент
- Установите VNC-клиент, например: VNC Viewer – Remote Desktop или androidVNC.
- Подключитесь к серверу, используя адрес:
localhost:5901
- Настройте качество изображения в настройках 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 помогут вам найти решения.