Да, вы можете запустить полноценную ОС 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) я мог:
- Откройте книгу в формате PDF для программирования
- Запустите Emacs бок о бок, чтобы делать заметки
- Запустите даже интерпретатор для языка (sbcl), подключенного к Emacs, чтобы я мог проверить свой код, который я писал.
- И даже поищите в Интернете функции на выбранном языке программирования - поскольку Firefox или Chrome будут занимать слишком много оперативной памяти, я
pacman
установил какой-нибудь браузер с малым объемом памяти: Pale Moon.
(Если вы пользователь Mac, iPad или iPhone, вы можете найти в iSH аналогичные функции, которые ближе всего к Termux для Mac. Напишите в комментариях, если вы пробовали, или оставьте ссылку на свою статью об этом в среднем :) )
Удачного кодирования! - Наслаждайтесь трансформированным Android-устройством с функциями ноутбука!