Введение в Termux: Linux-терминал на Android

Termux – эмулятор терминала и пользовательское Linux-окружение для Android: shell, pkg, пакеты вроде git, python, openssh. Без root для базового сценария. Удобно править конфиги, гонять скрипты, ходить по SSH на серверы с телефона. Это не полноценная «вторая ОС» с ядром Linux, а userspace поверх Android.

Что это и чего ждать

Внутри – префикс с утилитами (часто близко к Debian-пакетам), bash/zsh, доступ к сети. Файлы приложения – в своём каталоге Termux; доступ к «Download» и карте памяти – через Storage Access Framework и termux-setup-storage (после выдачи разрешений в Android).

  • CLI-разработка и одноразовые скрипты;
  • SSH-клиент к VPS и bastion;
  • лёгкие локальные сервисы для тестов (php -S, python -m http.server);
  • ограничения Android (фон, батарея, без настоящего init как на сервере).

Установка

Актуальные сборки – с F-Droid или GitHub Releases. Версия в Google Play долгое время отставала или велась отдельно – для репозиториев и обновлений надёжнее F-Droid/GitHub. Сайт проекта: termux.dev.

После первого запуска обновите индексы и пакеты:

pkg update && pkg upgrade

pkg – обёртка над apt в окружении Termux. При смене зеркал смотрите termux-change-repo.

Базовый набор пакетов

pkg install git python nodejs openssh nano
  • git – клоны и коммиты с телефона;
  • python / nodejs – скрипты и небольшой backend;
  • openssh – клиент ssh и при необходимости sshd на устройстве;
  • редактор: nano, vim или micro – по вкусу.

Примеры

Python-скрипт

nano hello.py
# содержимое:
# print("Hello from Termux!")

python hello.py

Локальный PHP built-in server

pkg install php
nano index.php
# <?php echo "Hello from Termux!";

php -S localhost:8080

В браузере на том же телефоне: http://127.0.0.1:8080. С других устройств в LAN – IP телефона и разрешение firewall/Wi-Fi изоляции; для продакшена телефонный PHP не предназначен.

SSH: клиент и сервер

Клиент (типичный сценарий: управление VPS):

pkg install openssh
ssh user@server_ip
# ключи: ssh-keygen, ssh-copy-id или ручная запись в authorized_keys

sshd на телефоне (зайти в Termux с ноутбука в одной сети):

sshd
# порт по умолчанию часто 8022, не 22
# пароль пользователя Termux: passwd
# кто слушает: whoami; ifconfig / ip

С ПК: ssh -p 8022 ...@IP_телефона. Держать sshd открытым в публичных сетях без ключей и firewall не стоит.

proot-distro: Ubuntu и другие

Через proot-distro ставят rootfs (Ubuntu, Debian и др.) без root на устройстве. Это userspace-дистрибутив, не отдельное ядро и не полноценный chroot с изоляцией как у контейнера на сервере.

pkg install proot-distro
proot-distro install ubuntu
proot-distro login ubuntu

Внутри – свой apt и привычные пакеты. Ограничения Android (сеть, storage, фон) никуда не деваются.

Практические замечания

  • доступ к общим файлам: termux-setup-storage;
  • доп. API телефона (уведомления, SMS и т.д.) – отдельный пакет Termux:API и приложение-компаньон, если нужны;
  • фоновые сессии убивает Doze – для долгих задач смотрите wake lock / настройки батареи для Termux;
  • бэкап префикса и ключей SSH: потеря приложения = потеря home Termux, если нет копии.

Краткий чеклист

  • поставить с F-Droid или GitHub, не полагаться на устаревший Play-пакет;
  • pkg update && pkg upgrade, поставить git/python/openssh по задачам;
  • SSH-клиент к серверам; sshd на телефоне – только осознанно;
  • proot-distro – если нужен «привычный» apt-rootfs, с пониманием лимитов.

Итог: Termux закрывает мобильный CLI-сценарий – скрипты, git, SSH, быстрые тесты. Для постоянных сервисов и «как на VPS» лучше отдельный сервер; телефон остаётся удобным терминалом в кармане.

Источники и ссылки


Комментарии загружаются…