# 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 достаточно изменить масштаб двумя пальцами (раздвинуть). Размер сохранится.

### Обновление пакетов и подключение репозиториев

```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


## Настройка энергопотребления (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

