Termux уже давно вышел за рамки обычного эмулятора терминала на Android. Благодаря возможности запускать полноценные Linux‑дистрибутивы в режиме chroot или proot, он становится отличной альтернативой WSL для мобильных и встраиваемых устройств. В этой статье мы рассмотрим, как собрать WSL‑подобную среду, настроить её под свои задачи и обеспечить комфортную работу с графикой.
1. Почему Termux вместо WSL?
В отличие от WSL, который работает только в Windows, Termux полностью автономен и работает непосредственно на Android‑устройствах. Это открывает возможности:
- Развертывание изолированных окружений без root‑прав.
- Быстрый переход между различными дистрибутивами (Debian, Ubuntu, Alpine).
- Поддержка графических приложений через X‑серверы (XServer XSDL, VNC).
Для продвинутых пользователей важна гибкость настройки и возможность автоматизировать процесс развертывания – именно это мы реализуем ниже.
2. Установка базовых инструментов
Начнём с установки пакетов, необходимых для создания chroot‑окружения. Откройте Termux и выполните:
pkg update && pkg upgrade -y
pkg install proot-distro proot git curl wget -y
Пакет proot-distro предоставляет готовые скрипты для скачивания и установки популярных дистрибутивов. При желании можно использовать debootstrap для более тонкой настройки, но в большинстве случаев proot-distro более удобен.
3. Создание WSL‑подобного окружения
Выберите дистрибутив. В примере мы развернём Ubuntu 22.04:
proot-distro install ubuntu-22.04
После установки запустите окружение:
proot-distro login ubuntu-22.04
Вы окажетесь в корневой файловой системе Ubuntu, где сможете установить любые пакеты через apt. Например, установим базовые инструменты разработки:
apt update && apt install -y build-essential git vim curl wget software-properties-common
Для более «чистого» chroot‑окружения можно воспользоваться debootstrap:
pkg install debootstrap
mkdir -p $HOME/chroot/debian
debootstrap --arch=arm64 bullseye $HOME/chroot/debian http://deb.debian.org/debian
Запуск такого окружения выглядит так:
proot --link2symlink -0 -r $HOME/chroot/debian /bin/bash --login
4. Настройка пользовательского окружения
После входа в chroot рекомендуется настроить .bashrc (или .zshrc) для удобной работы.
apt install -y zsh
chsh -s $(which zsh)
Установим oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" --unattended
Не забудьте добавить алиасы, которые часто используют в Termux, например:
echo 'alias ll="ls -la --color=auto"' >> ~/.zshrc
Для синхронизации файлов между Termux и chroot‑окружением удобно смонтировать домашнюю директорию:
mkdir -p /root/termux_home
proot -0 -r $HOME/chroot/debian -b $HOME:/root/termux_home /bin/bash --login
Теперь всё, что вы сохраняете в /root/termux_home, будет доступно в обычном Termux‑профиле.
5. Интеграция с Termux: автоматический запуск и сервисы
Чтобы окружение стартовало вместе с открытием Termux, создайте скрипт ~/start-ubuntu.sh:
#!/data/data/com.termux/files/usr/bin/bash
proot-distro login ubuntu-22.04 --shared-tmp --shared-home
Сделайте его исполняемым:
chmod +x ~/start-ubuntu.sh
Добавьте вызов в файл ~/.bashrc или ~/.zshrc Termux, чтобы при каждом старте открывался ваш дистрибутив.
6. Графика: X11 и VNC в Termux
Для запуска GUI‑приложений понадобится X‑сервер. Самый популярный – XServer XSDL из Google Play.
Установите XSDL, запустите его и запомните номер дисплея (обычно :0). Затем в chroot‑окружении задайте переменную окружения:
export DISPLAY=127.0.0.1:0
Установите нужные пакеты, например, лёгкий редактор gedit:
apt install -y gedit
Запуск будет выглядеть так:
gedit &
Для более надёжного доступа можно настроить VNC‑сервер (tightvncserver) и подключаться через клиент VNC на Android.
7. Оптимизация и безопасность
- Ограничение доступа к сети. Запускайте
prootс параметром--restrict-prootили используйтеiptablesв Termux для фильтрации трафика. - Кеширование пакетов. Папка
/data/data/com.termux/files/usr/var/cache/apt/archivesможет быть смонтирована в chroot, чтобы ускорить повторные установки. - Автоматическое обновление. Добавьте в
crontabTermux задачу, которая будет обновлять дистрибутив раз в неделю:
crontab -e
# Добавьте строку
0 3 0 proot-distro login ubuntu-22.04 -c "apt update && apt upgrade -y"
Эти меры помогут поддерживать окружение в актуальном состоянии и минимизировать потенциальные уязвимости.
Заключение
Termux предоставляет мощный набор инструментов для создания полностью изолированных Linux‑окружений, сравнимых с WSL. С помощью proot-distro, chroot и небольших скриптов вы получаете гибкую, переносимую и безопасную платформу для разработки, тестирования и даже запуска графических приложений прямо на смартфоне.
Если вы хотите ускорить процесс внедрения подобных решений в ваш бизнес, команда RybinskLab готова помочь: от индивидуального консалтинга и написания кастомных скриптов до полной автоматизации развертывания WSL‑подобных сред на Android‑устройствах. Свяжитесь с нами, и мы превратим ваш мобильный терминал в профессиональную рабочую станцию.