Ошибка «permission denied» при попытке запустить скрипт в Termux — самый частый сигнал того, что Linux-окружение на Android установлено, но файловая система или права настроены неверно. Проблема решается командой termux-setup-storage и проверкой, что скрипт лежит в доступной директории, а не на защищённом разделе. Это типичный сценарий: Linux на смартфоне работает, но требует понимания ограничений платформы.
Android сам построен на ядре Linux, поэтому запуск полноценного дистрибутива — не эмуляция «с нуля», а надстройка поверх существующего ядра. Ниже разберём рабочие способы: от терминала без root-прав до полноценного графического рабочего стола, а также типичные ошибки и их решения.
Как Android и Linux связаны технически
Android использует ядро Linux, но не содержит привычного окружения GNU: нет стандартной библиотеки glibc, нет привычной иерархии каталогов вроде /usr/bin, а вместо bash по умолчанию работает урезанная оболочка. Поэтому «установить Linux на Android» означает развернуть пользовательское окружение дистрибутива — Ubuntu, Debian или Arch — поверх существующего ядра.
Для этого применяются два подхода. Первый — chroot, требующий root-прав: система запускается в изолированном корневом каталоге с прямым доступом к ядру. Второй — proot, который эмулирует chroot через системный вызов ptrace и работает без root, но с небольшой потерей производительности. Именно proot лежит в основе большинства современных решений.
Способы запуска Linux на Android
Выбор метода зависит от того, есть ли у вас root-доступ и что вы планируете делать: писать скрипты в терминале или работать в графической среде.
- 📱 Termux — эмулятор терминала с собственным пакетным менеджером, не требует root, подходит для консольных задач.
- 🐧 proot-distro — надстройка над Termux для установки полноценных дистрибутивов (Ubuntu, Debian) без root.
- 🖥️ VNC + графическое окружение — запуск рабочего стола XFCE или LXQt с просмотром через VNC-клиент.
- 🔓 Linux Deploy — chroot-установка с root-доступом, максимальная совместимость и производительность.
- 📦 UserLAnd, Andronix — приложения с готовыми сценариями установки для новичков.
Для большинства задач — программирование, серверы, автоматизация — достаточно связки Termux + proot-distro. Полноценный chroot оправдан, только если нужен доступ к железу или запуск сервисов, чувствительных к изоляции.
Установка Termux и базового окружения
Скачивайте Termux только из F-Droid или с официального репозитория проекта на GitHub — версия в Google Play давно не обновляется и содержит устаревшие пакеты, из-за которых установка дистрибутивов завершается ошибками. Это единственная критичная деталь, которую нельзя пропустить.
После установки откройте приложение и обновите пакеты:
pkg update && pkg upgrade
Затем предоставьте доступ к хранилищу, чтобы обмениваться файлами между Android и Linux-окружением:
termux-setup-storage
Система запросит разрешение на доступ к файлам — подтвердите его. После этого в домашнем каталоге появится папка storage со ссылками на общие директории смартфона.
☑️ Подготовка Termux к работе
Установка дистрибутива через proot-distro
Установите утилиту и посмотрите список доступных дистрибутивов:
pkg install proot-distro
proot-distro list
Для установки, например, Ubuntu выполните:
proot-distro install ubuntu
proot-distro login ubuntu
После входа вы окажетесь в полноценном окружении Ubuntu с пакетным менеджером apt. Обновите его и ставьте нужные инструменты — python, git, nginx и другие пакеты работают так же, как на обычном сервере. Вам не нужен root на телефоне: внутри proot-окружения вы и так являетесь суперпользователем.
⚠️ Внимание: proot не даёт доступа к реальному железу. Команды вродеsystemctlне работают, поскольку systemd не может запуститься в такой изоляции. Сервисы запускайте напрямую, напримерnginxвместоsystemctl start nginx.
Графический рабочий стол на смартфоне
Консоль покрывает не всё — для браузера или IDE понадобится графика. Схема такая: внутри дистрибутива ставится лёгкое окружение рабочего стола и VNC-сервер, а картинка выводится в VNC-клиент на Android.
Типовой порядок действий внутри Ubuntu под proot:
apt update
apt install xfce4 tightvncserver
vncserver :1
После запуска сервера подключитесь любым VNC-клиентом к адресу localhost:5901. Точный порт зависит от номера дисплея: для :1 это 5901. Если подключение не устанавливается, проверьте, что сервер запущен и пароль VNC задан при первом старте.
Альтернатива — Termux:X11, который выводит графику напрямую без VNC-прослойки и даёт более отзывчивый интерфейс. Способ требует установки отдельного приложения-компаньона и чуть более сложной настройки.
| Способ | Root | Графика | Сложность |
|---|---|---|---|
| Termux + proot-distro | Не нужен | Через VNC / X11 | Низкая |
| Linux Deploy | Нужен | VNC, XServer | Средняя |
| UserLAnd | Не нужен | VNC встроен | Низкая |
| Termux (только консоль) | Не нужен | Нет | Минимальная |
Типичные ошибки и их решение
«Bad interpreter» или «permission denied» при запуске скрипта. Возможная причина — файл лежит в разделе, смонтированном с флагом noexec, например в общем хранилище Android. Переместите скрипт в домашний каталог Termux или внутрь proot-окружения и проверьте права: chmod +x script.sh.
Ошибки apt при установке пакетов. Часто помогает смена репозиториев на актуальные зеркала через termux-change-repo и повторное обновление. Также проверьте дату и время на устройстве — при большом рассинхроне ломается проверка сертификатов HTTPS.
⚠️ Внимание: не запускайте команды с sudo rm -rf по системным путям в Termux «для очистки». Даже без root можно удалить собственные данные окружения и файлы в общем хранилище, к которому выдали доступ.
Процессы убиваются при сворачивании приложения. Android агрессивно завершает фоновые задачи. Выполните в Termux команду termux-wake-lock, а в настройках батареи смартфона отключите оптимизацию для Termux. Путь к этой настройке зависит от оболочки производителя — ищите раздел «Батарея» или «Фоновая активность» в параметрах приложения.
Почему нельзя просто установить «настоящий» дистрибутив вместо Android
Загрузчик большинства смартфонов заблокирован, а ядро собрано под конкретное железо с проприетарными драйверами. Полная замена ОС возможна на ограниченном числе устройств через проекты вроде postmarketOS, но требует разблокировки загрузчика, кастомного recovery и готового порта под вашу модель. Для большинства пользователей proot/chroot-окружение — практичный компромисс без риска окирпичить устройство.
Ограничения и производительность
Proot добавляет накладные расходы на каждый системный вызов, поэтому файловые операции и компиляция идут медленнее, чем на обычном ПК. Для редактирования кода, скриптов, SSH-клиента и небольших серверов скорости хватает; тяжёлые сборки и базы данных будут заметно тормозить.
Оперативная память — второй узкий момент. Графическое окружение, браузер и Android-приложения одновременно легко исчерпают 4–6 ГБ. Закрывайте лишние приложения перед запуском рабочего стола и выбирайте лёгкие окружения вроде XFCE или LXQt вместо GNOME.
Часто задаваемые вопросы
Можно ли установить Linux на Android без root-прав?
Да. Связка Termux + proot-distro или приложения вроде UserLAnd работают без root и покрывают большинство задач: консольные утилиты, программирование, серверы и даже графический рабочий стол через VNC.
Будет ли работать Docker в Termux?
Полноценный Docker в proot-окружении обычно не работает, так как ему нужны возможности ядра (cgroups, namespaces), недоступные без root и специальной сборки. Для изоляции используйте отдельные proot-дистрибутивы.
Как перенести файлы между Android и Linux-окружением?
После выполнения termux-setup-storage общее хранилище доступно в Termux через ~/storage/shared. Изнутри proot-дистрибутива этот путь тоже виден, если при входе используется привязка каталогов, которую proot-distro настраивает автоматически.
Опасно ли это для смартфона?
Установка Termux и proot-дистрибутивов не затрагивает системные разделы и безопасна: удаление приложения полностью убирает окружение. Риски появляются только при root-методах и разблокировке загрузчика — они могут аннулировать гарантию и привести к потере данных.
Какой дистрибутив выбрать для начала?
Ubuntu или Debian — у них самая предсказуемая работа apt и больше всего инструкций под архитектуру ARM. Arch подойдёт тем, кто уже знаком с ним на ПК, но потребует больше ручной настройки.