Запустить полноценный Linux на Android-устройстве можно даже без root-прав — вся работа ведётся внутри эмулятора терминала Termux и контейнера proot, который изолирует дистрибутив от системы Android. Первое, что стоит проверить перед началом: откуда установлен сам Termux. Сборка из Google Play давно не обновляется и выдаёт ошибки репозиториев, поэтому актуальную версию берут с F-Droid или со страницы релизов проекта на GitHub.
Сам Android построен на ядре Linux, однако пользовательское окружение там кардинально другое: нет привычных пакетных менеджеров, glibc заменён на bionic, а доступ к системным каталогам ограничен. Именно поэтому «полноценный Linux» на смартфоне — это либо окружение Termux с портированными пакетами, либо полноценный дистрибутив вроде Ubuntu или Debian, запущенный внутри proot-контейнера. Оба подхода рабочие, но у каждого есть свои ограничения, о которых пойдёт речь ниже.
Что такое proot и почему root не нужен
Ключевая технология, позволяющая запускать Linux-дистрибутивы на Android без рута, — proot. Это userspace-реализация chroot: программа перехватывает системные вызовы и «подменяет» пути, заставляя гостевую систему думать, что она работает в корне файловой системы. Ядро при этом остаётся андроидовским — меняется только пользовательское окружение.
Из этого следуют важные практические выводы. Во-первых, модифицировать сам Android такой способ не позволяет: контейнер изолирован от системы. Во-вторых, есть накладные расходы на перехват системных вызовов, поэтому операции ввода-вывода и компиляция работают медленнее, чем на «настоящем» Linux-ПК. В-третьих, всё, что требует прямого доступа к ядру (модули, iptables, systemd в полном виде), в proot работать не будет.
Установка Termux и базовая подготовка
Начните с установки актуальной сборки Termux из F-Droid или с GitHub-страницы проекта. После первого запуска обновите пакетную базу и сами пакеты — это займёт несколько минут в зависимости от скорости соединения:
pkg update && pkg upgrade
Далее полезно выдать Termux доступ к общему хранилищу устройства, чтобы обмениваться файлами между Android и Linux-окружением. Для этого выполните команду termux-setup-storage и подтвердите разрешение в системном диалоге. После этого в домашнем каталоге появится папка storage со ссылками на стандартные каталоги Android.
- 📦 Установите Termux только из F-Droid или GitHub — версия в Google Play устарела и выдаёт ошибки репозиториев
- 🔄 Сразу после установки выполните
pkg update && pkg upgrade, иначе часть пакетов не поставится - 📁 Команда
termux-setup-storageоткрывает доступ к файлам Android из терминала - 🔋 Отключите для Termux оптимизацию батареи в настройках Android, иначе система может «убить» долгие процессы
⚠️ Внимание: на многих прошивках (особенно с агрессивным энергосбережением) фоновые процессы Termux завершаются системой через несколько минут. Если установка пакетов или компиляция обрывается, проверьте настройки батареи и автозапуска для приложения — точные пути в меню зависят от оболочки производителя.
Установка полноценного дистрибутива через proot-distro
Самый простой путь к «настоящему» дистрибутиву — пакет proot-distro, который автоматизирует загрузку и распаковку корневых файловых систем. Установите его и посмотрите список доступных дистрибутивов:
pkg install proot-distro
proot-distro list
В списке обычно присутствуют Ubuntu, Debian, Arch Linux, Alpine, Fedora и другие варианты; точный состав зависит от текущей версии пакета. Установка и вход в систему выполняются двумя командами:
proot-distro install ubuntu
proot-distro login ubuntu
После входа вы окажетесь в полноценном окружении Ubuntu с привычным apt: можно ставить компиляторы, Python, Node.js, серверы баз данных и почти любой консольный софт под архитектуру вашего устройства (как правило, aarch64). Для выхода используйте команду exit.
☑️ Проверка перед установкой дистрибутива
Графический интерфейс: рабочий стол на смартфоне
Консольная среда закрывает далеко не все задачи, поэтому следующий шаг для многих — запуск графического окружения. Стандартная схема такая: внутри дистрибутива ставится лёгкий рабочий стол (XFCE, LXQt) и VNC-сервер TigerVNC, а на Android устанавливается VNC-клиент, например AVNC или bVNC, который подключается к локальному адресу.
Альтернатива — Termux:X11, отдельное приложение, выводящее графику напрямую без VNC-прослойки. Этот вариант обычно даёт более отзывчивый интерфейс, но требует установки дополнительных пакетов и ручной настройки переменной DISPLAY. Для первого знакомства проще начать с VNC: схема предсказуемее и лучше задокументирована сообществом.
Внутри Ubuntu-контейнера установка графики выглядит примерно так:
apt update
apt install xfce4 tigervnc-standalone-server
vncserver :1
После запуска сервера подключитесь VNC-клиентом к адресу localhost:5901. Пароль для VNC задаётся при первом запуске команды vncserver.
Сравнение способов запуска Linux на Android
Помимо связки Termux + proot-distro существуют приложения-обёртки и решения с root-доступом. Их отличия сведены в таблицу ниже — она поможет выбрать подход под свою задачу.
| Способ | Root | Сложность | Графика | Ограничения |
|---|---|---|---|---|
| Termux + proot-distro | Не нужен | Средняя | Через VNC или Termux:X11 | Нет systemd, накладные расходы proot |
| UserLAnd / Andronix | Не нужен | Низкая | Встроенные скрипты VNC | Те же ограничения proot, меньше контроля |
| Chroot с root-доступом (Linux Deploy) | Обязателен | Высокая | VNC / XServer | Риск для системы, зависит от ядра |
| Только Termux без дистрибутива | Не нужен | Низкая | Нет (консоль) | Пакеты портированы, не весь софт доступен |
Обёртки вроде UserLAnd и Andronix под капотом используют тот же proot — они лишь автоматизируют установку и предлагают готовые скрипты запуска. Если хочется понимать, что происходит внутри, и гибко настраивать окружение, ручной вариант с Termux предпочтительнее; если нужна скорость старта — обёртки сэкономят время.
Практические сценарии и ограничения
Реалистично оценивайте задачи. Отлично работают: разработка на Python, Node.js, C/C++, запуск локальных веб-серверов, SSH-клиент и сервер, git, консольные утилиты, лёгкие графические редакторы. Плохо или никак не работают: Docker в полном виде (нужны возможности ядра, недоступные в proot), виртуализация, софт, требующий systemd, и тяжёлые приложения вроде современных IDE с аппаратным ускорением графики.
Отдельный нюанс — производительность. Файловые операции внутри proot-контейнера заметно медленнее, чем в нативном Linux, особенно при работе с общим хранилищем Android. Если планируете компилировать большие проекты, держите исходники внутри файловой системы контейнера, а не в папке storage/shared.
- 💻 Для программирования хватает Termux без отдельного дистрибутива:
pkg install python nodejs clang git - 🌐 Локальный сервер внутри контейнера доступен с самого устройства по адресу
localhostс указанным портом - ⌨️ Для долгой работы подключите Bluetooth-клавиатуру и мышь — экранная клавиатура быстро утомляет
- 🖥️ Внешний монитор (если смартфон поддерживает видеовыход) превращает связку в подобие настольной системы
⚠️ Внимание: приложения с root-доступом и chroot-установщики требуют разблокированного загрузчика и модифицированной системы. Это влияет на гарантию, работу банковских приложений и может привести к потере данных при ошибке. Без явной необходимости начинайте с безрутовых вариантов — они полностью обратимы обычным удалением приложения.
Что делать, если proot-дистрибутив не стартует или падает
Проверьте свободное место: df -h в Termux. Обновите сам пакет: pkg upgrade proot-distro. Убедитесь, что Android не завершает фоновый процесс (настройки батареи). Попробуйте переустановить дистрибутив: proot-distro remove ubuntu, затем install заново. При ошибках загрузки rootfs проверьте соединение — архивы скачиваются с зеркал проекта Termux.
Удаление и очистка
Одно из главных преимуществ безрутового подхода — полная обратимость. Дистрибутив удаляется одной командой proot-distro remove ubuntu, после чего его файлы стираются из каталога данных Termux. Сам Termux удаляется как обычное приложение Android, не оставляя следов в системе.
Учтите только, что все файлы внутри домашних каталогов Termux и контейнера пропадут вместе с приложением. Важные данные заранее скопируйте в общее хранилище через папку storage/shared или отправьте на внешний носитель.
Часто задаваемые вопросы
Можно ли запустить Linux на Android без root-прав?
Да. Termux с proot-distro, а также приложения UserLAnd и Andronix работают без root: они используют proot — userspace-эмуляцию изолированного окружения. Ограничение такого подхода — отсутствие доступа к ядру, systemd и части низкоуровневых функций.
Это настоящий Linux или эмулятор?
Дистрибутив в proot — это настоящая пользовательская среда Linux (Ubuntu, Debian и др.) с родными пакетами под архитектуру устройства, но ядро используется андроидовское. Поэтому корректнее называть это контейнером, а не виртуальной машиной или эмулятором.
Будет ли работать графический интерфейс и программы вроде браузера?
Да, через VNC-сервер внутри контейнера и VNC-клиент на Android либо через Termux:X11. Лёгкие окружения (XFCE, LXQt) и браузеры вроде Firefox работают, но отзывчивость ниже, чем на ПК, а аппаратное ускорение графики обычно недоступно.
Сколько места нужно на устройстве?
Минимальная консольная установка дистрибутива занимает порядка гигабайта, с графическим окружением и софтом потребуется несколько гигабайт. Точный объём зависит от выбранного дистрибутива и набора пакетов — ориентируйтесь на запас в 4–8 ГБ для комфортной работы.
Почему Termux из Google Play выдаёт ошибки при установке пакетов?
Сборка Termux в Google Play давно не обновляется, и её репозитории неактуальны. Установите свежую версию из F-Droid или со страницы релизов проекта на GitHub — после этого pkg update и установка пакетов будут работать корректно.