# Как включить Linux Terminal на Android: требования, Snapdragon и первые команды

> AI Release · @ai_release1 · https://ai-release.org/guides/kak-vklyuchit-linux-terminal-na-android-trebovaniya-sna.html

## TL;DR
- Время выполнения: 20–30 минут (при уже настроенном ADB)
- Уровень сложности: Intermediate
- Понадобится: Android-смартфон с поддержкой аппаратной виртуализации; включённые «Параметры разработчика»; ADB (platform-tools) — только для диагностики; альтернативный путь — Termux из F-Droid + `proot-distro`

## Требования и подготовка
![Иллюстрация к разделу «Требования и подготовка»](https://ai-release.org/guides/img/kak-vklyuchit-linux-terminal-na-android-trebovaniya-sna-ru-1.jpg?v=1794213617)


- **Android с поддержкой виртуализации.** Штатный Linux Terminal — экспериментальная функция Android: он запускает полноценный Linux не «рядом» с системой, а внутри виртуальной машины. Нужна поддержка виртуализации на уровне SoC (pKVM — защищённый гипервизор в ядре Android). Точный список поддерживаемых моделей и версий прошивки — сверьтесь с документацией Android и производителя устройства.
- **Snapdragon и другие флагманы.** На практике виртуализация есть у топовых чипов, в том числе у Snapdragon 8-й серии; у бюджетных SoC её обычно нет. Проверять нужно не название чипа, а факт наличия переключателя в настройках (Шаг 1).
- **Свободное место.** Образ системы с дистрибутивом занимает несколько гигабайт. Точный объём вы увидите на экране установки — сверьтесь с ним перед стартом.
- **ADB (Android Debug Bridge)** — утилита для отправки команд телефону с компьютера. Ставится из platform-tools, порядок подключения описан в гайде [Как подключить Android к Windows через ADB](https://ai-release.org/guides/kak-podklyuchit-android-k-windows-cherez-adb-komandy-sp.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide). Если компьютера нет — используйте [Shizuku](https://ai-release.org/guides/shizuku-adb-bez-pk-android.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide), он выполняет ADB-команды прямо на телефоне.
- **Termux** (запасной путь) — ставить только из F-Droid: версия в Google Play устарела и не получает обновления репозиториев.

Два маршрута, из которых вы выбираете один:

| Критерий | Штатный Linux Terminal | Termux + proot-distro |
|---|---|---|
| Что это | Виртуальная машина с Linux внутри Android | Linux-окружение в пользовательском пространстве, без виртуализации |
| Нужен root | Нет | Нет |
| Нужна поддержка виртуализации SoC | Да | Нет |
| Дистрибутив | Предустановленный (сменить — сверьтесь с документацией) | Debian, Ubuntu и другие через `proot-distro` |
| Где взять | «Параметры разработчика» | F-Droid |

## Шаг 1. Проверить, поддерживает ли устройство виртуализацию

**Что сделать:** подключить телефон по ADB и снять три параметра — архитектуру, версию Android и наличие `/dev/kvm` (устройство ядра, через которое приложения получают доступ к аппаратной виртуализации).

**Зачем:** если виртуализации нет, переключатель Linux Terminal в настройках не появится вообще, и вы не будете тратить время на поиск «пропавшего» пункта меню.

**Как проверить:** выполнить на компьютере:

```bash
adb devices
adb shell getprop ro.product.cpu.abi
adb shell getprop ro.build.version.release
adb shell ls -l /dev/kvm
```

Ожидаемый вывод:

```
List of devices attached
<RANDOM_SERIAL>	device
arm64-v8a
15
crw-rw---- 1 system kvm 10, 232 2025-01-01 00:00 /dev/kvm
```

- `device` в первой колонке — телефон авторизован.
- `arm64-v8a` — 64-битная архитектура, обязательная для ВМ.
- Строка с `/dev/kvm` присутствует — виртуализация доступна.

Если вместо последней строки вы видите `ls: /dev/kvm: No such file or directory`, аппаратная виртуализация недоступна или скрыта прошивкой. Окончательный ответ всё равно даёт экран настроек из Шага 2 — некоторые прошивки не показывают узел приложениям, но ВМ запускают.

## Шаг 2. Включить Linux Terminal и развернуть окружение
![Иллюстрация к разделу «Шаг 2. Включить Linux Terminal и развернуть окружение»](https://ai-release.org/guides/img/kak-vklyuchit-linux-terminal-na-android-trebovaniya-sna-ru-2.jpg?v=1794213625)


**Что сделать:** открыть «Настройки» → «Система» → «Для разработчиков» → пункт вида «Linux development environment» / «Терминал Linux» (формулировка зависит от прошивки) → «Установить». Дождаться загрузки образа и открыть появившееся приложение «Терминал».

**Зачем:** при первом запуске Android скачивает образ дистрибутива, распаковывает его и поднимает виртуальную машину. Только после этого внутри появляется оболочка, `apt` и сеть.

**Как проверить:** в окне терминала выполнить:

```bash
whoami
cat /etc/os-release
uname -r
sudo apt update
sudo apt install -y curl git python3
```

Ожидаемый результат: `whoami` печатает имя вашего пользователя внутри ВМ (не `root`), `cat /etc/os-release` выводит строки `PRETTY_NAME=...` и `ID=...` с названием дистрибутива, `apt update` заканчивается строкой `Reading package lists... Done`. Если `sudo` в вашей сборке недоступен, выполните те же команды без него — это зависит от конфигурации образа, сверьтесь с документацией.

Почему это работает: терминал внутри ВМ — обычный Linux-пользователь с правами на установку пакетов, поэтому `apt` ведёт себя так же, как на сервере.

**Вариант Б — если пункта в настройках нет.** Используйте Termux: он работает без виртуализации, подробный разбор — в гайде [Как запустить Linux на Android без root: Termux, PRoot и ИИ-инструменты](https://ai-release.org/guides/kak-zapustit-linux-na-android-bez-root-termux-proot-i-i.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide). Короткая последовательность:

```bash
pkg update && pkg upgrade -y
pkg install proot-distro -y
proot-distro install debian
proot-distro login debian
```

Внутри Debian — тот же `apt update`. Проверка: приглашение строки меняется на `root@localhost:~#`, значит вы вошли в контейнер.

## Шаг 3. Проверить работу и зафиксировать результат
![Иллюстрация к разделу «Шаг 3. Проверить работу и зафиксировать результат»](https://ai-release.org/guides/img/kak-vklyuchit-linux-terminal-na-android-trebovaniya-sna-ru-3.jpg?v=1794213629)


**Что сделать:** прогнать три проверки — версия интерпретатора, сеть и свободное место.

**Зачем:** установка может «зависнуть» на этапе распаковки, и внешне всё будет выглядеть нормально, пока вы не попробуете что-то запустить.

**Как проверить:**

```bash
python3 --version
curl -sI https://example.com | head -n 1
df -h /
```

Ожидаемый вывод:

```
Python 3.x.x
HTTP/2 200
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        10G  2.1G  7.9G  21% /
```

- Строка `Python 3.x.x` — пакет установлен и запускается.
- `HTTP/2 200` — сеть из ВМ работает.
- В колонке `Avail` — положительное число гигабайт.

Чек-лист приёмки:

- [ ] `uname -r` печатает версию ядра без ошибок
- [ ] `apt update` завершается `Reading package lists... Done`
- [ ] `curl -sI https://example.com` возвращает код 200
- [ ] `df -h /` показывает свободное место
- [ ] Терминал переживает перезапуск приложения и открывается в том же окружении

## Возможные проблемы и решения

**Проблема. ADB не видит телефон**

- Ошибка: `error: no devices/emulators found`
- Причина: не включена отладка по USB, не установлен драйвер или кабель только для зарядки.
- Решение: включить «Отладка по USB» в параметрах разработчика, затем перезапустить сервер и подтвердить отпечаток на экране телефона:

```bash
adb kill-server
adb start-server
adb devices
```

Если после этого в списке появилось `unauthorized` — разблокируйте телефон и нажмите «Разрешить» в диалоге.

**Проблема. Termux не находит пакет**

- Ошибка: `E: Unable to locate package proot-distro`
- Причина: устаревшие списки репозиториев после установки старой версии Termux (например, из Google Play).
- Решение: переустановить Termux из F-Droid либо обновить списки и повторить:

```bash
pkg update && pkg upgrade -y
pkg install proot-distro -y
```

**Проблема. `apt` внутри Linux-окружения блокируется**

- Ошибка: `E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1234 (apt)`
- Причина: предыдущий `apt` ещё работает или был прерван закрытием окна терминала.
- Решение: дождаться завершения или снять блокировку:

```bash
ps aux | grep -i apt
sudo kill <PID>
sudo dpkg --configure -a
sudo apt update
```

## Резюме и следующие шаги

Вы проверили поддержку виртуализации, развернули Linux-окружение и подтвердили работу сети, `apt` и Python тремя командами. Дальше имеет смысл поставить SSH-сервер внутри ВМ и подключиться к нему с компьютера, а инструменты разработки и ИИ-приложения для Android подобрать по каталогу гайдов.

## FAQ

**Нужен ли root, чтобы включить Linux Terminal на Android?**
Нет. Штатный терминал работает как виртуальная машина поверх системы, а Termux с `proot-distro` — в пользовательском пространстве; в обоих случаях root не требуется.

**Почему на моём Snapdragon нет пункта «Linux development environment»?**
Поддержка виртуализации зависит не только от серии чипа, но и от модели устройства и версии прошивки. Проверьте наличие `/dev/kvm` командой из Шага 1 и, если его нет, используйте Termux.

**Чем штатный Linux Terminal отличается от Termux?**
Терминал запускает отдельную ВМ с предустановленным дистрибутивом и требует виртуализации, Termux работает в общей среде Android и позволяет ставить разные дистрибутивы через `proot-distro`.

**Можно ли поставить другой дистрибутив вместо предустановленного?**
В Termux — да, список доступных вариантов выдаёт `proot-distro list`. Для штатного терминала возможность смены образа зависит от версии Android — сверьтесь с документацией.
