Ошибка «permission denied» при первом запуске скрипта в Termux или чёрный экран VNC-клиента после установки Ubuntu — типичные симптомы, с которыми сталкиваются при установке Linux на Android. Причина почти всегда одна и та же: пропущен этап подготовки окружения либо выбран способ, не соответствующий возможностям устройства. Проверить это можно за пару минут, ещё до начала установки.
Android сам построен на ядре Linux, поэтому запустить полноценное Linux-окружение на смартфоне реально и без перепрошивки. Ниже разберём три рабочих метода — от простого эмулятора терминала до полноценного дистрибутива с графическим интерфейсом — и объясним, где чаще всего возникают сбои и как их проверить.
Что нужно проверить перед установкой
Прежде чем скачивать что-либо, убедитесь, что устройство соответствует базовым условиям. Точные требования зависят от выбранного способа, но есть общие проверки, которые не зависят от модели.
- 📱 Свободное место — для минимального окружения хватит нескольких сотен мегабайт, для дистрибутива с графикой лучше иметь запас в несколько гигабайт.
- 🔋 Заряд батареи — установка и распаковка rootfs-архивов ресурсоёмки, прерывание на середине может оставить битое окружение.
- 🌐 Стабильный интернет — пакеты и образы скачиваются из репозиториев, обрыв соединения часто приводит к ошибкам контрольных сумм.
- ⚙️ Архитектура процессора — большинство современных смартфонов используют ARM64, но стоит убедиться, что выбранный образ поддерживает вашу архитектуру.
Отдельно стоит решить вопрос с root-доступом. Хорошая новость: для способов через Termux, UserLAnd и Andronix рут не нужен — они работают через proot, эмулирующий привилегии в пользовательском пространстве. Root потребуется только если вы хотите полноценный chroot или установку Linux на отдельный раздел, что уже относится к рискованным операциям с прошивкой.
Способ 1: Termux — терминал без root
Termux — самый простой вход в мир Linux на Android. Это эмулятор терминала с собственным пакетным менеджером, который ставится как обычное приложение и не требует ни рута, ни разблокировки загрузчика. Внутри доступны bash, Python, git, SSH и сотни других пакетов.
Важный нюанс: версию Termux лучше брать из F-Droid или с официальной страницы проекта на GitHub. Сборка в Google Play долгое время не обновлялась и считается устаревшей — с ней репозитории могут не работать.
После установки выполните обновление пакетов:
pkg update && pkg upgrade
Если команда завершилась без ошибок — окружение готово. Для доступа к файлам смартфона дополнительно выполните termux-setup-storage и подтвердите разрешение в системном диалоге.
☑️ Подготовка Termux к работе
Способ 2: полноценный дистрибутив через proot-distro
Когда возможностей «голого» Termux не хватает, внутри него можно развернуть настоящий дистрибутив — Ubuntu, Debian или Arch Linux. Для этого служит утилита proot-distro, которая скачивает готовый rootfs и запускает его в изолированном окружении.
pkg install proot-distro
proot-distro list
proot-distro install ubuntu
proot-distro login ubuntu
После входа вы окажетесь внутри Ubuntu с привычным apt. Первым делом там стоит выполнить apt update, чтобы подтянуть актуальные индексы пакетов. Учтите: это всё ещё эмуляция через proot, поэтому systemd и некоторые системные службы работать не будут — для серверных сценариев это ограничение, для обучения и разработки обычно некритично.
Способ 3: UserLAnd и Andronix с графическим интерфейсом
Если нужен не терминал, а рабочий стол, посмотрите на приложения UserLAnd и Andronix. Они автоматизируют те же шаги: скачивают rootfs, настраивают окружение и поднимают VNC-сервер, к которому вы подключаетесь отдельным VNC-клиентом и видите привычный графический интерфейс Linux.
Порядок действий в обоих приложениях схож: выбрать дистрибутив, дождаться загрузки файловой системы, затем подключиться VNC-клиентом к локальному адресу и порту, которые покажет приложение. Если экран остаётся чёрным — возможная причина в том, что сессия VNC не стартовала; проверьте журнал приложения и убедитесь, что порт не занят.
⚠️ Внимание: графическое окружение на Android работает заметно медленнее, чем на ПК, — отрисовка идёт через VNC-протокол без аппаратного ускорения. Для тяжёлых задач вроде видеомонтажа такой способ не подходит.
Почему графика тормозит
VNC передаёт изображение как поток картинок по сетевому протоколу, даже когда сервер и клиент на одном устройстве. GPU смартфона в этом процессе почти не участвует. Частично ситуацию улучшает Termux:X11 — альтернативный способ вывода графики, но его настройка сложнее и требует актуальных сборок из репозитория проекта.
Сравнение способов установки
Чтобы выбрать подходящий метод, сверьтесь с таблицей. Она отражает общие характеристики подходов, а не характеристики конкретных версий приложений.
| Способ | Root | Сложность | Графика | Для кого |
|---|---|---|---|---|
| Termux | Не нужен | Низкая | Нет (терминал) | Новички, скрипты, SSH |
| proot-distro | Не нужен | Средняя | Нет / через VNC | Разработчики, студенты |
| UserLAnd / Andronix | Не нужен | Низкая | Да, через VNC | Тем, кто хочет рабочий стол |
| Chroot / отдельный раздел | Нужен | Высокая | Возможна | Опытные пользователи |
Типичные ошибки и их решение
Разберём сбои, которые встречаются чаще всего. Действуйте от простых проверок к сложным — так вы не сломаете работающее окружение.
- 🚫 «Permission denied» при запуске скрипта — проверьте права на исполнение:
chmod +x имя_файла. Также помните, что разделы, смонтированные Android с флагом noexec (например, внешняя SD-карта), не позволяют запускать исполняемые файлы — перенесите скрипт во внутреннее хранилище Termux. - 📦 Ошибки репозиториев в Termux — вероятная причина в устаревшей сборке приложения. Обновите Termux до актуальной версии из F-Droid.
- 🖥️ Чёрный экран VNC — убедитесь, что VNC-сервер запущен, а клиент подключается к правильному порту. Перезапуск сессии в приложении обычно помогает.
- 💾 «No space left on device» — освободите место или удалите ненужные дистрибутивы командой
proot-distro remove имя.
⚠️ Внимание: не пытайтесь «починить» окружение командами с sudo rm -rf по советам из случайных форумов. Внутри proot ошибка менее фатальна, чем на настоящей системе, но удалить собственные данные в примонтированном хранилище Android такая команда вполне способна.
Безопасность и ограничения
Linux-окружение в proot изолировано от основной системы, но не настолько, как полноценная виртуальная машина. Приложение имеет доступ к тем же разрешениям, что выдали ему вы, поэтому не запускайте внутри непроверенные скрипты и не храните в окружении чувствительные данные без необходимости.
Что касается способов с root и установкой Linux на отдельный раздел — здесь риски принципиально выше. Разблокировка загрузчика на многих устройствах стирает все данные и может повлиять на гарантию, а ошибка при разметке способна превратить смартфон в «кирпич». Если вы всё же рассматриваете такой вариант, ищите инструкцию строго под вашу модель и версию прошивки на профильных ресурсах вроде форумов разработчиков, а не универсальные гайды.
Часто задаваемые вопросы
Можно ли установить Linux на Android без root-прав?
Да. Termux, proot-distro, UserLAnd и Andronix работают через proot и не требуют ни рута, ни разблокировки загрузчика. Root нужен только для chroot-окружений и установки на отдельный раздел.
Заменит ли Linux на смартфоне полноценный компьютер?
Для терминальных задач, программирования, SSH и обучения — во многом да. Для графики, игр и тяжёлых приложений — нет: вывод через VNC медленный, а аппаратное ускорение недоступно.
Какой дистрибутив выбрать для начала?
Ubuntu или Debian через proot-distro — самый предсказуемый вариант: у них обширные репозитории и много документации. Arch подойдёт тем, кто уже знаком с Linux.
Удалится ли Linux-окружение без последствий?
Да. Достаточно удалить приложение или дистрибутив командой proot-distro remove — основная система Android при этом не затрагивается.
Почему в Termux не работают системные службы и systemd?
Proot эмулирует окружение в пользовательском пространстве без доступа к настоящему init-процессу, поэтому systemd и службы, зависящие от него, не запускаются. Многие серверы при этом можно стартовать вручную напрямую.