Терминал управление телефон

Управляйте телефонными терминалами легко: настройка, мониторинг и аналитика в одном интерфейсе. Повышайте эффективность и экономьте время!

Бесплатная консультация юриста

+7 (800) 302-87-29

Реклама jurik.ru

Современные смартфоны на базе Android обладают огромным потенциалом, который часто скрыт за графическим интерфейсом. Для продвинутых пользователей, разработчиков и энтузиастов главной дверью в глубины системы является ADB (Android Debug Bridge). Традиционно для работы с ADB требовался компьютер, но с появлением мощных терминальных эмуляторов вроде Termux ситуация кардинально изменилась. В этой статье мы подробно разберем, как настроить полноценное управление телефоном через терминал прямо с самого устройства, без root-прав и без ПК.

Почему Termux и ADB — идеальная пара

Termux, это не просто эмулятор терминала, это полноценная Linux-среда для Android с менеджером пакетов pkg (обертка над apt). Это позволяет устанавливать стандартные консольные утилиты: git, python, nodejs, vim и, конечно же, adb;

Использование ADB прямо на телефоне (on-device) дает уникальные преимущества:

  • Автономность: Не нужно таскать ноутбук или искать кабель для подключения к ПК.
  • Скорость: Выдача разрешений (permissions), удаление системного мусора (debloat), изменение DPI, запись экрана — все это делается за секунды.
  • Автоматизация: Можно писать скрипты на Bash/Python для рутинных задач и запускать их по расписанию (cron) или через виджеты Termux:Widget.

Проблема официального пакета android-tools

В репозиториях Termux существует пакет android-tools, содержащий adb и fastboot. Однако, как указывается в документации проекта termux-adb, официальная сборка работает только на устройствах с root-правами.

Причина: Стандартный ADB для перечисления USB-устройств требует доступа к файловой системе /dev/bus/usb/*. В стандартной песочнице Android (без root) доступ к этим путям заблокирован. Если ADB не может просканировать USB-шину, он не увидит подключенные устройства (даже само себя в режиме OTG).

Решение: Проект termux-adb (nohajc/termux-adb)

Разработчик nohajc создал модифицированные версии adb и fastboot, которые обходят это ограничение, используя официальное Android API, доступное через утилиту termux-usb (из пакета termux-api).

Как это работает технически

  1. termux-usb запрашивает у пользователя разрешение на доступ к конкретному USB-устройству (через системный диалог Android).
  2. После одобрения termux-usb возвращает сырой файловый дескриптор (file descriptor) для этого устройства.
  3. Обычный ADB не умеет работать с файловыми дескрипторами, переданными извне.
  4. termux-adb пропатчен так, чтобы:
    • Сканировать устройства через вызов termux-usb.
    • Использовать Unix Domain Socket (UDS) для передачи полученных файловых дескрипторов от дочернего процесса (termux-usb) к родительскому (termux-adb).

Это позволяет работать с любым количеством устройств, подключенных через USB-хаб к OTG-адаптеру, не требуя root-доступа.

Пошаговая инструкция по установке

Подготовка окружения

Все действия выполняются внутри приложения Termux (рекомендуется устанавливать его из F-Droid или GitHub Releases, версия из Google Play устарела и не поддерживается).

# Обновляем пакеты
pkg update && pkg upgrade -y

pkg install termux-api -y

Установка termux-adb

Автор проекта предоставляет удобный скрипт установки, который добавляет свой репозиторий и GPG-ключ.

# Запуск официального скрипта установки
curl -s https://raw.githubusercontent.com/nohajc/termux-adb/master/install.sh | bash

Что делает скрипт:

  • Добавляет репозиторий termux-adb в $PREFIX/etc/apt/sources.list.d/.
  • Импортирует публичный GPG-ключ для проверки подписей пакетов.
  • Устанавливает пакеты termux-adb и termux-fastboot.
  • Настраивает автоматическое обновление через стандартную команду pkg upgrade.

Важно: Команды переименованы в termux-adb и termux-fastboot, чтобы избежать конфликта с официальным пакетом android-tools. Если у вас установлен android-tools, рекомендуется удалить его: pkg uninstall android-tools.

Подключение устройства (OTG / USB-C)

Для управления другим телефоном или планшетом:

  1. Подключите целевое устройство через USB-C кабель (male-to-male) или OTG-адаптер (microUSB/USB-C).
  2. На целевом устройстве включите «Отладку по USB» (USB Debugging) в настройках разработчика.
  3. В Termux выполните: termux-adb devices.
  4. Появится системный диалог: «Разрешить доступ к USB-устройству [Имя устройства]?». Нажмите OK (можно поставить галочку «По умолчанию для этого устройства»).
  5. После этого termux-adb покажет серийный номер устройства. Готово!

Практические сценарии использования (On-Device)

Управление разрешениями приложений (Permission Management)

Это одна из самых частых задач, упомянутая в блоге tiredsysadmin.cc. Многие продвинутые приложения (например, эквалайзер Wavelet, блокировщики рекламы, бэкап-утилиты) требуют специальных разрешений, которых нет в меню настроек.

# Пример: Выдача разрешения на дамп аудио для Wavelet
termux-adb shell pm grant com.pittvandewitt.wavelet android.permission.DUMP

termux-adb shell pm grant com;example.app android.permission.RECORD_SCREEN

termux-adb shell dumpsys package com.example.app | grep permission

Дебаутинг (Debloat) — удаление системного ПО без Root

С помощью pm uninstall --user 0 можно удалить предустановленные приложения (bloatware) для текущего пользователя, не трогая системный раздел (не требует root и не триггерит SafetyNet/Play Integrity).

# Поиск пакета (например, Facebook или предустановленные игры)
termux-adb shell pm list packages | grep facebook

termux-adb shell pm uninstall --user 0 com.facebook.katana
termux-adb shell pm uninstall --user 0 com.facebook.system

Настройка системы (DPI, анимации, навигация)

# Изменение DPI (плотности пикселей) без перезагрузки (требует перезапуска UI)
termux-adb shell wm density 420
termux-adb shell wm density reset # Вернуть стандарт

termux-adb shell settings put global window_animation_scale 0
termux-adb shell settings put global transition_animation_scale 0
termux-adb shell settings put global animator_duration_scale 0

termux-adb shell cmd overlay enable com.android.internal.systemui.navbar.gestural

Работа с файлами и бэкап

# Копирование файла с телефона в Termux (текущая директория)
termux-adb pull /sdcard/Download/file.txt .

termux-adb push ./backup.ab /sdcard/Download/

termux-adb backup -f backup.ab -apk com.example.app

termux-adb restore backup.ab

Fastboot (Разблокировка загрузчика, прошивка)

Пакет включает termux-fastboot. Он работает по тому же принципу через termux-usb.

# Перезагрузка в fastboot
termux-adb reboot bootloader

termux-fastboot devices

termux-fastboot flashing unlock

termux-fastboot oem unlock

Известные ограничения и нюансы

Производительность Fastboot

Как честно предупреждает автор в README на GitHub: «Запрос устройств через termux-usb и libusb может быть медленным. Для ADB это не проблема, так как он работает как демон и сканирует периодически. Но для fastboot это заметно, так как у него нет фонового сервиса».

Команды termux-fastboot могут выполняться дольше, чем на ПК. Это архитектурная особенность передачи дескрипторов через UDS. В будущих версиях это может быть оптимизировано.

Конфликт с официальным android-tools

Если у вас установлен пакет android-tools, команды adb и fastboot будут указывать на него (и они не заработают без root). Используйте явно termux-adb и termux-fastboot или создайте алиасы в ~/.bashrc / ~/.zshrc:

alias adb='termux-adb'
alias fastboot='termux-fastboot'

Беспроводной ADB (ADB over Wi-Fi / TCP/IP)

Termux-adb отлично работает с беспроводной отладкой (Android 11+).

# На телефоне-цели: Настройки -> Система -> Для разработчиков -> Беспроводная отладка -> Сопряжение с кодом сопряжения

termux-adb pair ...:* # IP и порт из меню сопряжения

termux-adb connect ...:* # Порт основного соединения

После этого можно выдернуть кабель и работать по локальной сети.

Альтернативы и платные решения

В Google Play Store существуют платные приложения-обертки над ADB (например, ADB WiFi, Bugjaeger, Remote ADB Shell). Однако, как отмечается в обзоре на tiredsysadmin.cc, большинство из них перестало работать на современных версиях Android (11/12/13/14+) из-за ужесточения политик безопасности (Scoped Storage, ограничения на выполнение бинарников в /data/local/tmp).

Termux-adb остается самым надежным, бесплатным и открытым решением, так как использует официальные API Android (termux-usb) и не требует обходов защиты.

Безопасность

  • Физический доступ: Для USB-соединения требуется физическое подключение кабеля и подтверждение на экране телефона-цели.
  • Беспроводной доступ: Требует ввода кода сопряжения (pairing code), который виден только на экране телефона-цели.
  • Изоляция: Termux работает в своей песочнице. Даже если вы взломаете свой Termux, доступ к ADB дает только те права, что и у пользователя shell (без root).

Связка Termux + termux-adb превращает ваш Android-смартфон в портативную станцию администрирования других Android-устройств. Это решает главную боль мобильного разработчика и энтузиаста — зависимость от ПК для рутинных операций: выдачи специальных разрешений, удаления блоутвара, изменения системных настроек, бэкапа данных и даже разблокировки загрузчика.

Проект nohajc/termux-adb — это пример элегантного инжиниринга: вместо взлома системы (root) он использует легальные API Android (termux-usb) и умную передачу файловых дескрипторов через Unix-сокеты. Установив его один раз через простой скрипт curl ... | bash, вы получаете мощный инструмент, который обновляется вместе с системой Termux командой pkg upgrade.


Ключевые ссылки

  • Репозиторий проекта: github.com/nohajc/termux-adb
  • Официальный сайт Termux: termux.dev (скачивайте APK отсюда или из F-Droid)
  • Termux:API (аддон): GitHub Releases или F-Droid
  • Статья-вдохновитель (tiredsysadmin): Доступ к adb из termux с телефона