Я хотел бы установить Canonical размещенный базовый образ Ubuntu для руки на моем телефоне Android.
Мне нужен простой пошаговый ответ о том, как начать.
Я хотел бы иметь возможность использовать Ubuntu для запуска приложений на моем телефоне без рутирования.
См. этот вопрос для установки приложения.
Настройка Ubuntu в Termux состоит из трех частей:
Самый простой способ - Если вы не хотите пачкать руки, установите 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 работать.
Установите приложение VNC Viewer на Android, например VNC Viewer - удаленный рабочий стол или androidVNC . И откройте адрес localhost: 5901
, чтобы подключиться к серверу VNC.
Совет : выберите качество: высокое
или 24- битовый цвет (4 бит на пиксель)
для лучшего качества изображения. Кроме того, VNC Viewer - Remote Desktop
очень хорошо поддерживает портретный и ландшафтный режимы. Другие программы просмотра VNC, похоже, плохо поддерживают портретный режим.
Приложения, работающие на рабочем столе XFCE. Я установил тему значков Tango и тему Arc GTK
. Однако эти приложения будут загружать Ubuntu Base из своего репозитория GitHub (где они сохранили копию), а не с веб-сайта Canonical. Все скрипты в этих приложениях доступны в их репозиториях GitHub под бесплатными лицензиями.
Что делает этот сценарий?
Этот сценарий загружает образ rootfs 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 shell (не в Ubuntu), и теперь Ubuntu сможет воспроизводить аудио.
Аудио демонстрация - Youtube Video
Обратите внимание, что файл setup-audio.sh
является загадочным (вероятно, так, что конкурент Andronix не может его использовать), и его читаемый форму можно найти здесь .
Она настолько загадочна, что сотрудники Unix и Linux Stack Exchange подумали, что это может быть вредоносное ПО, но я подтвердил, что это не так.
Andronix имеет автоматизированный сценарий для загрузки rootfs, установки DE и последующей настройки сервера VNC.
Однако сценарий Andronix загружает rootfs из их репозитория GitHub (переименованная версия rootfs 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. Он доступен в Google Play (больше не обновляется), а также в F-Droid .
Установка rootfs. Это включает в себя множество шагов, поэтому мне бы пригодились сценарии, доступные в GitHub (иначе было бы изобретать велосипед). Некоторые из таких проектов: Andronix , AnLinux , Ubuntu-on-Termux (их гораздо больше). Среди них AnLinux (также доступно на F-Droid ) и Andronix доступны как приложения для Android, чтобы помочь скопировать и вставить команды установки. Сценарий в Ubuntu-on-Termux необходимо загрузить и вручную запустить в Termux. Вы можете редактировать эти сценарии в соответствии со своими потребностями.
У Andronix есть автоматический сценарий для загрузки rootfs, установки DE и последующей настройки сервера VNC. Чтобы использовать это, установите приложение Andronix, выберите Ubuntu 20.04 и установите версию XFCE.
Однако сценарий Andronix загружает rootfs из их репозитория GitHub (переименованная версия rootfs Ubuntu 20.04 (не 20.04.2)), а не с сервера Canonical.
Чтобы использовать версию с сервера Canonical, вместо этого мы будем использовать сценарий в Ubuntu-on-Termux.
Откройте окно Termux и введите следующие команды одну за другой. Первая команда устанавливает wget
в Termux, вторая выбирает файл ubuntu.sh с помощью wget, а третья выполняет ubuntu.sh
.
pkg install wget
wget https://raw.githubusercontent.com/MFDGaming/ubuntu-in-termux/master/ubuntu.sh
sh ubuntu.sh
Что делает ubuntu.sh
?
Он устанавливает proot
в Termux, загружает и извлекает базовый образ Ubuntu 20.04.1 и настраивает сценарий ( startubuntu.sh
), чтобы впоследствии запустить Ubuntu.
После этого введите команду ./ startubuntu.sh
, чтобы запустить сеанс Ubuntu, и команду exit
, чтобы выйти из сеанса Ubuntu.
(Если вместо этого вы используете Andronix или AnLinux, вам, возможно, придется запустить ./ start-ubuntu.sh
или ./ start-ubuntu20.sh
.)
Вы можете вручную установить xfce4
, xfce4-goodies
и tigervnc-standalone-server
, tigervnc- common
и dbus-x11
, а затем настройте vncserver (создайте пароль, добавьте startxfce4
в .vnc / xstartup
и запустите ] vncserver: 1
. Чтобы закрыть, запустите vncserver -kill: 1
).
Однако мы можем использовать сценарий от Andronix для настройки рабочего стола XFCE и сервера VNC.
Откройте Termux и запустите Ubuntu. Сначала мы установим wget и загрузим скрипт.
apt update && apt install wget
wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/APT/XFCE4/xfce19.sh
sh xfce19.sh
Вы можете указать пароль для VNC (или не указывать пароль, если хотите). Теперь вы можете запустить vncserver с помощью команды vncserver-start
и остановить его с помощью команды vncserver-stop
.
По умолчанию Ubuntu rootfs не может получить доступ к файлам на вашем телефоне Android. Данные в Termux изолированы от других данных в Android. И вы можете легко удалить все файлы в Termux (включая Ubuntu), удалив данные приложения в настройках Android.Однако я не несу ответственности за какие-либо проблемы, возникающие в связи с этим ответом. Количество звездочек в GitHub даст вам представление о том, сколько людей используют эти скрипты. Они не являются вредоносными программами.
700x1500
(в портретном режиме) очень хорошо работает на экране моего 6,5-дюймового телефона. start-ubuntu20.sh
/ startubuntu.sh
, чтобы получить доступ к внутренней памяти и SD-карте вашего телефона. su -s username
и предоставить им доступ sudo. : высокое
или 24-битный цвет (4 бит на пиксель)
в VNC Viewer для лучшего качества изображения. Пакеты SNAP / Docker / Flatpak нельзя установить ни в одной среде Linux . В основном это связано с двумя причинами. Во-первых, для обоих требуются модули ядра и шины, которые недоступны в среде PRoot , а во-вторых, оба в основном ориентированы на архитектуры на базе Intel / AMD , а не на архитектуру ARM.
Не стесняйтесь редактировать этот ответ, чтобы улучшить его.