Как запустить полноценный Linux на смартфоне

Иван Корнев·03.05.2026·5 мин

Запустить Linux на Android можно тремя способами: через Termux с proot (быстро, без root, идеально для разработки в CLI), через контейнеры LXC (требует root, выше производительность) или через эмуляцию QEMU/Limbo (медленно, но запускает любые ISO-образы, включая x86). Для большинства задач достаточно связки Termux + proot-distro, которая позволяет установить Ubuntu, Debian или Arch прямо на телефон за 10 минут.

Выбор метода: что лучше для ваших задач

Производительность и функциональность зависят от наличия root-прав и целей использования.

МетодНужен Root?ПроизводительностьДля чего подходит
Termux + proot-distroНетВысокая (нативная ARM)Веб-разработка, Python/Node.js, обучение Linux, CLI-утилиты.
LXC / ChrootДаОчень высокая (нативная)Серверные задачи, Docker-подобные сценарии, доступ к железу.
QEMU / LimboНетНизкая (эмуляция)Запуск x86-систем, тестирование старых ОС, изолированные среды.

Важно: Android сам построен на ядре Linux. Поэтому методы без root (proot) не «эмулируют» ядро, а используют существующее, подменяя пользовательское пространство (userspace). Это обеспечивает высокую скорость работы команд.

Способ 1: Termux и proot-distro (Без root)

Это самый популярный и безопасный способ. Вы получаете полноценный дистрибутив (Ubuntu, Debian, Arch, Fedora) внутри приложения Termux.

Пошаговая установка

  1. Установите Termux из официального источника (F-Droid или GitHub). Версия из Google Play устарела и не поддерживается.
  2. Обновите пакеты и установите менеджер дистрибутивов:
    pkg update && pkg upgrade
    pkg install proot-distro
    ```
3.  Посмотрите доступные дистрибутивы:
    
```bash
    proot-distro list
    ```
4.  Установите нужный дистрибутив (например, Ubuntu):
    
```bash
    proot-distro install ubuntu
    ```
5.  Войдите в систему:
    
```bash
    proot-distro login ubuntu
    ```

Теперь вы находитесь в среде Ubuntu. Вы можете использовать `apt`, устанавливать пакеты, компилировать код и запускать скрипты.

### Настройка графического интерфейса (GUI)

Если нужен рабочий стол, установите XFCE и VNC-сервер внутри прокта:


```bash
# Внутри окружения proot-distro (ubuntu)
apt update
apt install xfce4 tigervnc-standalone-server -y

Запустите VNC-сервер:

vncserver :1 -geometry 1280x720 -depth 24

Для подключения используйте приложение VNC Viewer на Android. Введите адрес localhost:5901.

Для удобства используйте терминал Termux:X11 (доступен на GitHub). Он позволяет запускать графические приложения Linux напрямую в окне Android без посредничества VNC, что дает лучшую отзывчивость и интеграцию с клавиатурой.

Способ 2: Контейнеры LXC (Требует Root)

Если у вас разблокирован загрузчик и есть root-права, LXC дает почти нативную производительность и лучший доступ к системе.

  1. Установите менеджер пакетов для root-устройств (например, через Magisk модуль или вручную соберите бинарники).
  2. Инициализируйте контейнер:
    lxc-create -n mycontainer -t download -- --dist ubuntu --release focal --arch arm64
    ```
3.  Запустите его:
    
```bash
    lxc-start -n mycontainer
    lxc-attach -n mycontainer
    ```

Этот метод сложнее в настройке из-за особенностей SELinux и разрешений в Android, но он ближе всего к «настоящему» серверному Linux.

## Способ 3: Полная эмуляция (QEMU / Limbo)

Используйте этот метод, если вам нужно запустить архитектуру, отличную от ARM (например, x86 Windows или старый Linux ПК), или полностью изолированную среду.

*   **Limbo PC Emulator:** Графический интерфейс для QEMU. Позволяет выбрать ISO-образ, настроить объем RAM и ядер CPU.
*   **Termux-QEMU:** Можно установить QEMU прямо в Termux (`pkg install qemu-system-x86_64`) и запускать машины через консоль.

Производительность: Эмуляция инструкций x86 на процессоре ARM работает медленно. Загрузка системы может занимать 10–20 минут, а интерфейс будет сильно тормозить. Этот способ не подходит для повседневной работы или разработки.

Что реально работает, а что нет

✅ Работает отлично

  • Консольные утилиты: git, vim, nano, htop, ssh, curl, wget.
  • Языки программирования: Python, Node.js, Go, Rust, C/C++ (gcc/clang).
  • Веб-серверы: Nginx, Apache, легкие базы данных (SQLite, PostgreSQL).
  • Сеть: Вы можете хостить сайт на телефоне и открывать его с ПК по локальной сети.

⚠️ Работает с ограничениями

  • Графика (GUI): Тяжелые окружения (GNOME, KDE) не запустятся или будут непригодны к использованию. Используйте XFCE, LXQt или оконные менеджеры (i3, Openbox).
  • Звук и микрофон: Доступ к аудио-подсистеме ALSA/PulseAudio часто требует сложной настройки или невозможен в proot.
  • Hardware acceleration: Видеоускорение браузера или игр внутри Linux-среды обычно отсутствует.

❌ Не работает или крайне сложно

  • Docker: Нативный Docker требует демона и специфических прав ядра (cgroups v2), которые в Android урезаны. Альтернатива — использование podman в режиме rootless (может работать в новых версиях Android) или эмуляция через QEMU.
  • Системные службы: systemd часто заменяется на sysvinit или openrc в proot-средах, так как init-система Android конфликтует с классической Linux-инициализацией.

Частые ошибки

  1. «Команда не найдена» после установки. В Termux пути к файлам отличаются от стандартных Linux. Если вы скачали бинарник, убедитесь, что он для архитектуры aarch64 (ARM64), а не x86_64.
  2. SSH не подключается снаружи. Android блокирует входящие соединения на нестандартных портах. Используйте порт 8022 (стандарт для Termux) и убедитесь, что устройство и клиент находятся в одной Wi-Fi сети.
  3. Черный экран в VNC. Часто проблема в том, что сервер VNC запущен, но сессия рабочего стола не стартовала. Добавьте команду запуска DE (например, startxfce4) в файл ~/.vnc/xstartup.

FAQ

Нужен ли root для установки Linux на Android? Нет. Для большинства задач разработки и обучения достаточно Termux и proot-distro. Root нужен только для специфических сетевых настроек, доступа к сырым устройствам или запуска LXC/Docker.

Можно ли заменить Android на Linux? Теоретически да (проекты like PostmarketOS или Ubuntu Touch), но это требует полной перепрошивки устройства, что лишает гарантии и может превратить телефон в «кирпич». Описанные выше методы запускают Linux поверх Android, сохраняя работоспособность телефона.

Безопасно ли это? Да. Среда proot изолирована в папке приложения Termux. Она не имеет доступа к вашим фото, контактам или системным файлам Android без явного разрешения.