315 lines
14 KiB
Markdown
315 lines
14 KiB
Markdown
# Termux Android
|
||
|
||
Termux - эмулятор терминала и среда Linux без необходимости получения root на Android устройстве.
|
||
- https://termux.dev/en/
|
||
- https://github.com/termux/termux-app
|
||
- https://f-droid.org/packages/com.termux/
|
||
|
||
WIKI Termux (открывается через VPN) - https://wiki.termux.com/wiki/Main_Page
|
||
|
||
Termux:X11 - для отображение графического интерфейса, если будет установлена графическа среда (xfce4, lxqt, kde и т.д.)
|
||
- https://github.com/termux/termux-x11
|
||
|
||
Версия из Google Play имеет ряд ограничений, поэтому приложение необходимо устанавливать из F-Droid (рекомендуется) или GitHub.
|
||
|
||
## Предварительная настройка
|
||
|
||
После установки запустить Termux и дождитесь завершения начальной инициализации
|
||
|
||
Для планшета Huawei, Termux в горизонтальной ориентации планшета отображался с широкими боковыми рамками, это решилось в настройках планшета: настройки приложений - App Multiplier - найти в списке Termux и отключить.
|
||
|
||
Эта настройка позволяет в горизонтальном положении иметь 2 окна приложения. В данном случае это только мешает
|
||
|
||
Для увеличения размера шрифта в Termux достаточно изменить масштаб двумя пальцами (раздвинуть). Размер сохранится.
|
||
|
||
### Доступ к хранилищу
|
||
|
||
После установки Termux необходимо предоставить доступ к хранилищу, иначе он не сможет ничего писать на диск.
|
||
|
||
В консоли termux
|
||
|
||
```shell
|
||
termux-setup-storage
|
||
```
|
||
|
||
### Обновление пакетов и подключение репозиториев
|
||
|
||
```shell
|
||
# Обновление списка пакетов
|
||
pkg update && pkg upgrade
|
||
|
||
# Установка необходимых репозиториев (несмотря на архив на GitHub, они нужны)
|
||
pkg install root-repo x11-repo
|
||
|
||
# Ещё раз обновляем после подключения репозиториев
|
||
pkg update && pkg upgrade
|
||
```
|
||
|
||
### Установка базового набора пакетов
|
||
|
||
```shell
|
||
pkg install -y git nano vim curl wget htop tree openssh termux-api termux-tools android-tools
|
||
```
|
||
|
||
## Настройка ZSH с Oh-My-Zsh
|
||
|
||
### Установка ZSH
|
||
|
||
```shell
|
||
pkg install zsh -y
|
||
```
|
||
|
||
### Установка Oh-My-Zsh
|
||
|
||
```shell
|
||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||
```
|
||
|
||
Когда появится вопрос о смене оболочки по умолчанию, указать `Y`.
|
||
|
||
### Установка плагинов
|
||
|
||
```shell
|
||
# zsh-autosuggestions (автодополнение из истории)
|
||
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
||
|
||
# zsh-syntax-highlighting (подсветка команд)
|
||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
||
```
|
||
|
||
### Настройка .zshrc
|
||
|
||
```shell
|
||
nano ~/.zshrc
|
||
```
|
||
|
||
Найти строку `plugins=(git)` и заменить на:
|
||
|
||
```shell
|
||
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
|
||
```
|
||
|
||
**Важно: `zsh-syntax-highlighting` должен быть последним в списке!**
|
||
|
||
Применение настроек
|
||
|
||
```shell
|
||
source ~/.zshrc
|
||
```
|
||
|
||
### Внешний вид - плагин PowerLevel10K
|
||
|
||
https://git.da2001.ru/da2001/dots#%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9-%D0%B2%D0%B8%D0%B4-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD-powerlevel10k
|
||
|
||
### Резервное копирование Termux (backup)
|
||
|
||
Для создания резервных копий есть встроенный скрипт - https://wiki.termux.dev/wiki/Backing_up_Termux
|
||
|
||
#### Создание резервной копии
|
||
|
||
```shell
|
||
termux-backup /sdcard/termux-backup-$(date +%Y_%m_%d).tar.xz
|
||
```
|
||
|
||
- `/sdcard` - внутрення память устройства Android
|
||
|
||
#### Восстановление из резервной копии
|
||
|
||
```shell
|
||
termux-restore /sdcard/backup.tar.xz
|
||
```
|
||
|
||
## Настройка энергопотребления (Android)
|
||
|
||
### Отключение оптимизации батареи
|
||
|
||
Настройки → Приложения → Termux → Энергопотребление
|
||
|
||
Выберите Без ограничений
|
||
|
||
Повторите то же самое для приложения Termux:X11
|
||
|
||
### Разрешение фоновой активности
|
||
|
||
Настройки → Приложения → Termux → Разрешения
|
||
|
||
Добавьте разрешение Фоновая активность
|
||
|
||
## Увеличение лимита процессов через ADB (Phantom Process Killer)
|
||
|
||
### Подготовка
|
||
|
||
**На планшете:**
|
||
|
||
Включите Режим разработчика (Настройки → Об устройстве → нажмите 7 раз на "Номер сборки")
|
||
|
||
Включите Отладку по USB (Настройки → Для разработчиков)
|
||
|
||
**На компьютере:**
|
||
|
||
Установите ADB (android-tools)
|
||
|
||
Подключите планшет к компьютеру через USB. На планшете выбрать режим - Передача данных.
|
||
|
||
### Выполнение ADB-команд
|
||
|
||
Для повышения эффективности энергосбережения Android следит за количеством запущенных процессов и периодически завершает лишние по его мнению. Из-за этого работа Termux может быть не стабильной, т.к. порождает много дочерних процессов, которые Android будет настройчиво завершать.
|
||
|
||
Такое агресивное поведение Android можно изменить, через adb попробовать увеличить лимит запущенных процессов до максимального значения.
|
||
|
||
Откройте терминал на компьютере и выполните:
|
||
|
||
```shell
|
||
adb devices
|
||
```
|
||
|
||
Если устройство видно как `<serial_number>` device — всё готово для команд ADB.
|
||
|
||
Если `unauthorized` — разблокируйте экран, подтвердите запрос "Разрешить отладку по USB" (поставьте галочку "Всегда разрешать")
|
||
|
||
после активации отладки и подключения, можно отправлять команды
|
||
|
||
```shell
|
||
adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent"
|
||
adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"
|
||
adb shell settings put global settings_enable_monitor_phantom_procs false
|
||
adb reboot
|
||
```
|
||
|
||
Планшет перезагрузится. Изменения сохранятся навсегда.
|
||
|
||
## Установка графического окружения в Termux - XFCE4
|
||
|
||
**!! ПОКА не удалось заставить работать звку !!**
|
||
|
||
Для работы графических приложений необходимо настроить
|
||
- Termux X11
|
||
или
|
||
- VNC: https://wiki.termux.com/wiki/Graphical_Environment
|
||
|
||
```shell
|
||
# Установка XFCE4
|
||
pkg install xfce4 xfce4-goodies
|
||
|
||
# Установка Termux:X11 (графический сервер)
|
||
pkg install termux-x11-nightly
|
||
|
||
# Установка PulseAudio (для звука)
|
||
pkg install pulseaudio
|
||
```
|
||
|
||
Пакет `xfce4-goodies` включает полезные плагины и приложения для рабочего стола
|
||
|
||
### Запуск XFCE4 через Termux:X11
|
||
|
||
Способ А: Прямая команда (простой)
|
||
|
||
```shell
|
||
termux-x11 :1 -xstartup "dbus-launch --exit-with-session xfce4-session"
|
||
```
|
||
|
||
Способ Б: С флагом для Kirin (рекомендуется для вашего планшета)
|
||
|
||
```shell
|
||
termux-x11 :1 -legacy-drawing -xstartup "dbus-launch --exit-with-session xfce4-session"
|
||
```
|
||
|
||
После выполнения команды:
|
||
|
||
Откройте приложение Termux:X11 на планшете
|
||
|
||
Вы должны увидеть рабочий стол XFCE
|
||
|
||
### Создание скрипта для быстрого запуска
|
||
|
||
Чтобы каждый раз не вводить длинную команду, создайте скрипт в Termux:
|
||
|
||
```shell
|
||
cat $PREFIX/bin/startx
|
||
#!/data/data/com.termux/files/usr/bin/bash
|
||
|
||
# 1. Жёстко останавливаем старые процессы сервера
|
||
pkill -9 termux-x11 2>/dev/null
|
||
rm -f /data/data/com.termux/files/usr/tmp/.X11-unix/X1 2>/dev/null
|
||
|
||
# 2. Небольшая пауза для освобождения ресурсов
|
||
sleep 1
|
||
|
||
# 3. Устанавливаем необходимую переменную окружения
|
||
export XDG_RUNTIME_DIR=${TMPDIR}
|
||
#export PULSE_SERVER=127.0.0.1
|
||
|
||
# 4. Запускаем сам X-сервер Termux с флагом для Kirin
|
||
termux-x11 :1 -legacy-drawing > /dev/null 2>&1 &
|
||
|
||
# 5. Ждём, пока создастся сокет (индикатор, что сервер готов)
|
||
timeout=5
|
||
while [ ! -e /data/data/com.termux/files/usr/tmp/.X11-unix/X1 ] && [ $timeout -gt 0 ]; do
|
||
sleep 1
|
||
((timeout--))
|
||
done
|
||
|
||
# 6. Открываем графическое окно Termux:X11 на экране планшета
|
||
am start --user 0 -n com.termux.x11/.MainActivity > /dev/null 2>&1 &
|
||
|
||
# 7. Запускаем саму среду рабочего стола XFCE
|
||
env DISPLAY=:1 dbus-launch --exit-with-session xfce4-session > /dev/null 2>&1 &
|
||
|
||
echo "✅ Готово! Терминал и X-сервер запущены, окно Termux:X11 открыто."
|
||
```
|
||
|
||
Теперь запуск одной командой:
|
||
|
||
```shell
|
||
startx
|
||
```
|
||
|
||
## TUR (Termux User Repository)
|
||
|
||
TUR — это пользовательский репозиторий Termux, созданный по аналогии с AUR в Arch Linux. Он существует, потому что официальный репозиторий Termux не может включить все существующие пакеты — некоторые из них слишком нишевые, сложные в сборке или имеют специфические лицензионные ограничения
|
||
|
||
https://github.com/termux-user-repository/tur
|
||
|
||
В чём разница между официальным репозиторием и TUR?
|
||
|
||
| Характеристика | Официальный репозиторий | TUR |
|
||
|-----------------|-------------------------------------|------------------------------------------------------|
|
||
| Поддержка | Разработчики Termux | Сообщество |
|
||
| Пакеты | Только проверенные и одобренные | Практически любые, включая Firefox, Chromium, VSCode |
|
||
| Установка | pkg install <имя> | pkg install tur-repo → затем pkg install <имя> |
|
||
| Надёжность | Высокая (строгий контроль качества) | Средняя (пакеты собираются сообществом) |
|
||
|
||
В TUR есть несколько компонентов-категорий:
|
||
|
||
- `tur` — основной компонент с большинством пакетов
|
||
- `tur-continuous` — пакеты, которые долго компилируются (например, браузеры на Chromium)
|
||
- `tur-on-device` — пакеты, требующие сборки прямо на устройстве
|
||
- `tur-hacking` — инструменты для безопасности
|
||
|
||
### Популярные пакеты есть в TUR?
|
||
|
||
| Пакет | Команда установки | Что это |
|
||
|--------------------|----------------------|----------------------------------------|
|
||
| Firefox | pkg install firefox | Браузер |
|
||
| Chromium | pkg install chromium | Браузер от Google |
|
||
| VS Code (code-oss) | pkg install code-oss | Редактор кода без телеметрии Microsoft |
|
||
| VLC | pkg install vlc | Медиаплеер |
|
||
|
||
Полный список пакетов TUR можно посмотреть на официальной странице репозитория — https://repology.org/repository/tur
|
||
|
||
### Установка Firefox
|
||
|
||
```shell
|
||
# Шаг 1: Подключение TUR репозитория
|
||
pkg install tur-repo
|
||
|
||
# Шаг 2: Обновление списка пакетов (чтобы Termux "увидел" новые пакеты)
|
||
pkg update
|
||
|
||
# Шаг 3: Установка Firefox
|
||
pkg install firefox
|
||
```
|
||
|
||
После этого Firefox будет доступен для запуска из XFCE4
|
||
|