Да, вы можете запустить полноценную ОС Linux на своем устройстве Android!

Представьте, что вы находитесь на одиноком острове. С вами: только ваш Android-планшет и Bluetooth-клавиатура. (Планшет или телефон, поддерживающий многопоточность - например, Samsung SM-T580 или новее).

Как кодировать с этой настройкой?

В Google Playstore вы не найдете ни полезного интерпретатора, ни компилятора для вашего языка программирования (я пробовал некоторые для Python, Lisp и R - они не подходили для разработчика), ни полноценного текстового редактора или редактора кода для вашего программирования. выбранный язык (если я ошибаюсь, сообщите мне, что я ошибаюсь в разделе комментариев!). Если вы хотите отредактировать или протестировать свой код, одновременно прочитать PDF-файл и искать код в Интернете, кажется, что все это сделать на вашем Android-устройстве невозможно.

Как только вы попробуете кодировать на смартфоне или планшете, вы поймете, что полноценная ОС - необходимость для серьезной работы.

Однако есть решение сделать все это на вашем смартфоне или планшете Android: Termux!

Termux - это эмулятор оболочки Linux для телефонов и планшетов Android. Он находится в свободном доступе в магазине Google Play.

На Termux можно установить и запустить полноценную ОС Linux: Arch Linux for Termux (TermuxArch).

Выбор Arch Linux хорошо продуман: из всех зрелых дистрибутивов Linux Arch Linux является наиболее эффективным с точки зрения использования памяти. В то же время это лучший документированный дистрибутив Linux в Интернете, при этом он всегда является самым последним с точки зрения программного обеспечения Linux (пакеты в pacman обычно появляются сразу после обновлений программного обеспечения - тогда как пакеты Debian - например, в Ubuntu - apt - нужно дождаться выхода следующего дистрибутива. (Сообщество Arch Linux является самым быстрым в адаптации новых версий программного обеспечения). TermuxArch при работе в Termux не имеет графического рабочего стола (X11), но можно получить его, запустив параллельно программу XServer на своем устройстве Android и подключив ее к TermuxArch. Таким образом, вы можете создать иллюзию полноценного рабочего стола Linux, работающего внутри вашего телефона или планшета, управляемого через сенсорный экран ИЛИ через подключенный Bluetooth мышь и bluetooth-клавиатуру к телефону / планшету.

Процедура сложная, но возможна и работает!

Установить Termux

# go to google playstore > Termux > install

Установить XServer XSDL

# go to google playstore > XServer XSDL > install

Если вы запустите XServer XSDL, вы увидите сообщение, подобное:

export DISPLAY=192.170.1.100:0
export PULSE_SERVER=192.170.1.100:4713
x-window-manager & firefox
export DISPLAY=:0 
export PULSE_SERVER=tcp:127.0.0.1:4713

Запишите эту информацию или сделайте снимок экрана. Эта информация понадобится нам позже, чтобы подключить XServer Display к экземпляру TermuxArch.

Установите Git, а затем TermuxArch в Termux

Вам необходимо установить git, чтобы установить TermuxArch.

Менеджер пакетов Termux - pkg. Чтобы установить любые доступные пакеты в оболочку Termux, введите в оболочку: $ pkg install <your-package-name>.

Чтобы установить git, введите:

$ pkg install git

Git клонирует репозиторий TermuxArch в ваш Termux:

$ git clone https://github.com/sdrausty/TermuxArch

Установите необходимые компоненты для TermuxArch в Termux:

$ pkg install bsdtar
$ pkg install proot

Затем cd в загруженную папку TermuxArch и установите TermuxArch:

$ cd TermuxArch
$ bash setupTermuxArch.sh

После успешной установки программа установки остается активной в оболочке TermuxArch!

Внутри оболочки TermuxArch настройте pacman, который является менеджером пакетов Arch Linux / TermuxArch (который соответствует apt в Ubuntu):

# add mirror for pacman in arch
# https://bbs.archlinux.de/viewtopic.php?id=14528
$ nano /etc/pacman.d/mirrorlist # (or instead of nano - use your text editor of choice)
# uncomment a server in your country there - for me in Germany
# and save the changes. In nano: `C-x y (or j depending on language)`.

После этого немедленно обновите pacman (это соответствующие команды для Arch Linux до $ sudo apt update и $ sudo apt upgrade в Ubuntu Linux):

$ pacman -Syy
$ pacman -Syu

Установите программы, необходимые для X (для TermuxArch)

Установите и запустите lxde, легкий графический интерфейс для Arch Linux / TermuxArch:

# install necessities for X:
pacman -S xorg-server 
pacman -S lxde # install all!
pacman -S ttf-dejavu

Подключите ваш запущенный TermuxArch к XSERVER для графического интерфейса рабочего стола

Подключите lxde к XSERVER:

# inside your running TermuxArch shell inside termux, 
# give what is desired for connection of X into the TermuxArch terminal:
# (remember, this was the info, which XSERVER displayed before!)

$ export DISPLAY=192.170.1.100:0
$ export PULSE_SERVER=192.170.1.100:4713
# and then start your graphical program
$ startlxde
# after this, change to the XSERVER screen
# you will see the running ArchLinux Desktop there!

Вуаля! Ваш LXDE должен запускаться на экране XSERVER, и при использовании Bluetooth-мыши и Bluetooth-клавиатуры он должен ощущаться как доступ к полноценной ОС с графическим интерфейсом пользователя внутри вашего Android-устройства!

Самая важная разница между Android и Termux заключается в следующем: теперь вы можете установить любое pacman устанавливаемое программное обеспечение Linux внутри TermuxArch, которое не является ни приложениями Android, ни пакетами Termux, а обычным программным обеспечением Linux для настольных компьютеров (Arch). - Внутри TermuxArch вы можете установить любое программное обеспечение Linux, которое вам нужно и необходимо для вашего программирования - вы больше не зависите от доступных приложений Android! - Разве это не гениальный взлом?

# e.g. to program lisp using emacs and sbcl, I installed:
pacman -S sbcl
pacman -S emacs

Единственное ограничение, однако, заключается в том, что эти программы должны быть созданы для архитектуры вашего планшета и одновременно доступны в pacman. Кроме того, объем памяти программ не должен превышать объем оперативной памяти вашего устройства.

С этим параметром (TermuxArch в Termux с XSERVER) я мог:

  1. Откройте книгу в формате PDF для программирования
  2. Запустите Emacs бок о бок, чтобы делать заметки
  3. Запустите даже интерпретатор для языка (sbcl), подключенного к Emacs, чтобы я мог проверить свой код, который я писал.
  4. И даже поищите в Интернете функции на выбранном языке программирования - поскольку Firefox или Chrome будут занимать слишком много оперативной памяти, я pacman установил какой-нибудь браузер с малым объемом памяти: Pale Moon.

(Если вы пользователь Mac, iPad или iPhone, вы можете найти в iSH аналогичные функции, которые ближе всего к Termux для Mac. Напишите в комментариях, если вы пробовали, или оставьте ссылку на свою статью об этом в среднем :) )

Удачного кодирования! - Наслаждайтесь трансформированным Android-устройством с функциями ноутбука!