Найти тему
HackWorld

GUI для termux: как сделать полноценный рабочий стол Linux на Android

Оглавление

В прошлой статье про Termux я говорил о том, как его установить и настроить, а также про некоторые полезные фичи для него. Теперь я расскажу вам про GUI для Termux и как его установить.

Кратко о GUI: GUI ("Graphic User Interface") - это графический пользовательский интерфейс для операционных систем. Грубо говоря, это оболочка, которая позволяет делать интерфейс визуально-понятным. Сейчас графическим интерфейсом обладают все современные ОС, как WIndows, MacOS, так и почти все дистрибутивы Linux.

Нужные пакеты

Эти пакеты нужны для работы GIU, без них никак. Вот полный список, описание пакета и команда, которую надо ввести для установки:

  • x11-repo - Termux Репозиторий для пакетов x-11 - pkg install x11-repo
  • vnc server - Для графического вывода - pkg install tigervnc
  • xterm - Xterminal (терминал) - pkg install xterm
  • openbox wm - Openbox менеджер окон - pkg install openbox obconf
  • xsetroot - Установка фонового цвета для X - pkg install xorg-xsetroot
  • xcompmgr - Композитный менеджер для десктопных эффектов - pkg install xcompmgr
  • polybar - Простой и быстрый статусбар - pkg install polybar libnl
  • st - Suckless/Simple терминал - pkg install st
  • xfsettingsd - Демон настроек для установки тем и иконок - pkg install xfce4-settings
  • geany - Редактор с графическим интерфейсом - pkg install geany
  • thunar - Файловый менеджер (необязательно) - pkg install thunar
  • pcmanfm - Файловый менеджер - pkg install pcmanfm
  • rofi - Средство запуска приложений - pkg install rofi
  • neofetch - Программа для показа системной информации - pkg install neofetch
  • wget - Загрузчик командной строки - pkg install wget
  • curl - Для передачи / получения интернет-данных - pkg install curl
  • zsh - Очень хорошая оболочка - pkg install zsh
  • git - VCS для клонирования репозиториев - pkg install git
  • vim - Текстовый редактор из командной строки (да-да, тот самый, из которого невозможно выйти ;D ) - pkg install vim
  • htop - Мониторинг системы (необязательно) - pkg install htop
  • mc - Файловый менеджер из командной строки (необязательно) - pkg install mc
  • elinks - Браузер из-под командной строки (необязательно) - pkg install elinks
  • mutt - Почтовый клиент из командной строки (необязательно) - pkg install mutt
  • cmus - плеер из командной строки (необязательно) - pkg install cmus
  • cava - основанный на консоли аудио-визуалайзер (необязательно) - pkg install cava
  • pulseaudio - Системный звук и аудио-сервер (необязательно) - pkg install pulseaudio
  • ranger - Файловый менеджер из командной строки (необязательно) - pkg install ranger

Вы также можете установить все важные пакеты командой ниже (двойные кавычки вводить не надо) :

"pkg update && pkg upgrade && pkg install x11-repo && pkg install tigervnc && pkg install openbox && pkg install obconf && pkg install xorg-xsetroot && pkg install xcompmgr && pkg install xterm && pkg install polybar && pkg install st && pkg install libnl && pkg install zsh && pkg install geany && pkg install pcmanfm && pkg install rofi && pkg install feh && pkg install neofetch && pkg install htop && pkg install vim && pkg install elinks && pkg install mutt && pkg install git && pkg install wget && pkg install curl && pkg install xfce4-settings"

Конфигурация

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

"cd $HOME && git clone https://github.com/adi1090x/termux-desktop"

после клонирования переходим в папку с репозиторием termux-desktop и копируем или перемещаем папки home & usr (Используется в основном для usr/lib/archlabs/common) в папку /data/data/com.termux/files. Вы можете сделать это действие этой командой:

"cp -rf ./home /data/data/com.termux/files && cp -rf ./usr /data/data/com.termux/files"

или этой:

"mv -f ./home /data/data/com.termux/files && mv -f ./usr /data/data/com.termux/files"

ПРЕДУПРЕЖДЕНИЕ : So, before doing that, take a look inside the repo directories, and backup your existing config files (like .vimrc, .zshrc, .gitconfig, etc). Я предполагаю, что вы делаете это при свежей установке termux. Если если вы и до этого использовали Termux, то, пожалуйста, сделайте резервную копию ваших файлов перед запуском этой команды. Эти команды принудительно копируют или перемещают файлы в папках home и usr. Итак, перед этим загляните в папку данного репозитория и сделайте резервную копию ваших существующих файлов конфига (например, .vimrc, .zshrc, .gitconfig и так далее).

VNC-сервер : Что-ж, теперь мы настроим vnc-сервер для вывода изображения. Введите команду ниже:

"vncserver -localhost"

В первый раз, вам будет предложено установить пароли

You will require a password to access your desktops. Вам потребуется пароль для доступа к вашим рабочим столам:

Password: (тут вы вводите новый пароль)
Verify: (тут вы снова вводите этот-же пароль)
Would you like to enter a view-only password (y/n)? (вводим "n")

Обратите внимание, что при вводе пароля он не будет ввиден (это правило свойственно для всех Linux-ов) и что максимальная длина пароля - 8 символов.
Теперь, когда всё сделано, вам выведится это сообщение

"New 'localhost:1 ()' desktop is localhost:1

Creating default startup script /data/data/com.termux/files/home/.vnc/xstartup
Creating default config /data/data/com.termux/files/home/.vnc/config
Starting applications specified in /data/data/com.termux/files/home/.vnc/xstartup
Log file is /data/data/com.termux/files/home/.vnc/localhost:1.log
"

Это означает, что сервер X (vnc) доступен на дисплее localhost: 1.

Наконец, чтобы программы выполняли графический вывод на дисплей localhost: 1, установите переменную среды, как показано здесь (да, без указания localhost):

" export DISPLAY=":1" "

Вы даже можете поместить эту переменную в свой bashrc или профиль, чтобы вам не приходилось всегда устанавливать ее вручную, если только отображаемый адрес не будет изменен.

Теперь вы можете запустить свой vnc-сервер этой командой:

"vncserver"

И чтобы остановить его, введите эту команду:

"vncserver -kill :1"

VNC-клиент Теперь вам нужен VNC-клиент для подключения к серверу. Рекомендую использовать этот Android клиент: VNC Viewer. Вы также можете использовать TigerVNC, если вы хотите подключиться к серверу с компа (как Windows, так и Linux).

Определите номер порта, на котором VNC-сервер слушает. Узнать его можно таким способом: 5900 + [номер открытого дисплея]. Итак, для отображения localhost: 1 порт будет 5901.

После этого открываете VNC Viewer и создаёте новое подключение с введённой информацией (предполагаемый порт VNC - 5901):

Address(адресс в формате 127.0.0.1:номер_порта):
127.0.0.1:5901

Name(имя):
Termux

После всего запускаете это. Вам будет предложено ввести пароль, который вы ввели при первом запуске vnc-сервера. И поскольку вы все скопировали и вставили, вы попадете на этот рабочий стол:

Рабочий стол только-что установленного GUI
Рабочий стол только-что установленного GUI

Что-ж, всё готово. Вот вы и установили замечательный GUI для Termux!