Здравей, Хабр! Представям на вашето внимание превод на статия от списание APC.

В тази статия се разглежда пълната инсталация на операционна среда Linux заедно с графично работно пространство на Android устройства.
Една от ключовите технологии, която много системи Linux на Android прилагат, е . Това е реализация на инструмента chroot в потребителското пространство, която е много популярна в настолни системи и сървъри Linux. Въпреки това, инструментът chroot изисква права на потребителя root, които по подразбиране не са налични на Android. pRoot обаче предоставя това предимство, установявайки обвързване с директория.
Терминали на Linux
Не във всички емулационни терминали на Linux за Android има пакет с инструменти BusyBox, за разлика например от Termux. Причината за това е, че смисълът на подобни системи е в осигуряване на "пълна" инсталация на всички компоненти на ОС, докато BusyBox е предназначена да сведе всички общи инструменти до един двоичен файл. В системи, където BusyBox не е инсталирана, се използва начално зареждане за Linux, съдържащо пълни версии на програмите.
"
Задайте потребителско име и парола за дистрибутива и VNC в UserLAnd.
Въпреки това, в тези системи съществува допълнителна технология, която не изисква наличието на Termux. В тази статия ще се разглежда пълна инсталация на дистрибутив на Linux, както и графичен интерфейс. Но преди това е необходимо да изберем начин за инсталиране на графичната система.
Linux на Android
Както беше споменато по-рано, софтуерните пакети, които ще инсталираме, се изпълняват в потребителското пространство.
Това означава, че те имат само разрешения за текущия потребител, който в случая на ОС Android винаги е обикновен потребител, т.е. няма администраторски права. Въпреки това, за да инсталираме работен плот Linux, ще ни е необходим графичен сървър, например X или Wayland. Ако правехме това в операционна среда Linux, той щеше да се стартира с права на обикновен потребител, без достъп до графичното ниво на ОС Android. Затова трябва да се насочим към инсталиране на сървър по "стандартния" андроидов начин, за да има достъп до хардуера и способност да поддържа графична среда.
Умните момчета от разработчиците предложиха две решения на този проблем. Първото е да използвате собствени версии на Linux (обикновено това е сървър X). След като започнат работа във фонов режим, ще имате достъп до този фонов процес чрез VNC. Ако на вашето устройство с Android вече има програма VNC viewer за отдалечено взаимодействие с други компютри, просто я използвайте, за да получите отдалечен достъп до локалния възел. Това е просто решение, но някои потребители съобщават, че имат затруднения с работата на програмата.
Вторият вариант е да инсталирате сървър, предназначен специално за устройства с Android. Някои сървъри са налични в Play Store в платени и безплатни версии. Преди инсталация трябва да се провери дали избраният вариант е поддържан или поне работи с този софтуерен пакет Linux за Android, който планирате да инсталирате. Ние предпочетохме системата X-Server и затова използвахме софтуерния пакет XServer XSDL (). В статията ще се опише процесът на инсталиране на този сървър, въпреки че той може да се различава малко, ако имате инсталирано друго приложение или използвате VNC.
Избор на система
Както при X-Servers, в Play Store съществуват няколко приложения за инсталиране на дистрибуции на системата Linux. Също както и с Termux, ние ще се фокусираме върху варианти, които не изискват права на суперпотребител, което от своя страна предполага определено ниво на риск. Тези приложения предоставят всичко необходимо за повечето потребители, като същевременно запазват вашите данни в безопасност. По-долу са представени примери за такива приложения в Play Store:
— : много популярен избор сред потребителите. Приложението включва набор от разпространени дистрибуции: Debian, Ubuntu, Arch и Kali. Любопитно е, че въпреки липсата на варианти на базата на RPM, UserLAnd включва Alpine Linux за устройства с по-малко памет.
— : това приложение помага за инсталирането на един или няколко списъка с дистрибутиви с голям обем и може да включва Ubuntu/Debian, Fedora/CentOS, openSUSE и дори Kali. Там също може да се изберат нискобюджетни десктопни варианти: Xfce4, MATE, LXQt и LXDE. За работа е необходим инсталиран Termux, а операционната система Android трябва да бъде версия 5.0 или по-висока.
— естествено напомня на AnLinux. Вероятно има по-добър дизайн от предишното приложение, но поддържа по-малък брой дистрибутиви.
— : този проект стартира като вариант на Linux за Android и беше разработен за софтуер с отворен код. Както подсказва името, той се фокусира върху дистрибутиви на Debian, а ‘X‘ в края означава, че приложението е насочено към графичен работен плот. И въпреки че създателите спряха разработката на проекта в полза на UserLAnd, GNURoot WheezyX все още е наличен в Play Store, ако на някого му е нужен.
Авторите на тази статия ще използват приложението UserLAnd за инсталиране на работен плот Linux на Android, и има няколко причини за това. Първо, приложението има отворен код (въпреки че AnLinux също го има). На второ място, то предлага добър набор от дистрибутиви (въпреки че не включва Fedora или CentOS), и също така с него може да се инсталират дистрибутиви с минимални системни изисквания, които няма да заемат много място в паметта на смартфона. Но основното предимство на UserLAnd е, че то разполага с инструменти за поддръжка за инсталиране на отделни приложения вместо цели дистрибутиви. Ще разберем какво точно означава това за нас по-късно. А сега нека инсталираме UserLAnd на вашето устройство.
Приложението UserLAnd
Свалете приложението от Google Play или F-Droid () на ОС Android. Инсталира се като всяко друго приложение – не е нужно да правите нищо особено. След това го стартирайте от панела с приложения.
Първото, което ще видите там – е списък с дистрибутиви. В края можете да намерите няколко десктопни варианта: LXDE и Xfce4. Завършва с приложението Firefox, няколко игри и няколко офис инструмента: GIMP, Inkscape и LibreOffice. Тази таба се нарича «Приложения». Предназначена е за инсталиране на приложения.
След като инсталирате нещо, на картата "Сесия" ще се появи съответната записка за това. Тук можете да стартирате или спирате текущата сесия, както и да видите активните процеси.
„Файлови системи“ – последната карта, която показва вече завършени инсталации. Струва си да се отбележи, че след като изтриете всеки елемент от Файловите системи, информацията за него ще бъде изтрита от картата Сесия, което обаче не доказва обратното. Това означава, че можете да създадете нова сесия на базата на текущата файловата система. Разбирането на тази взаимовръзка е много по-просто, ако го видите в действие, затова ще започнем с инсталиране на приложението в системната среда UserLAnd.

Преди да инсталирате дистрибуцията на смартфона, е необходимо да предоставите на UserLAnd достъп до хранилището.
Дистрибуции в UserLAnd
Изберете една от дистрибуциите, разположени на екрана Apps, за инсталиране на устройството. Като пример, ще използваме Ubuntu. При натискане на иконата се появява диалогов прозорец, в който се пита за потребителско име, парола и парола VNC. След това изберете метода, по който ще получите достъп до дистрибуцията. Ще започне изтегляне, при което ще бъде използван основният образ на избраната дистрибуция. Разопаковането на файла ще се извършва в директорията UserLAnd.
След като изтеглянето приключи, върнете се към терминалния емулатор xterm. Можете да въведете командата, за да разберете каква версия на Linux сте инсталирали:
uname –aСледващата стъпка е да инсталирате работния плот, използвайки командата на Ubuntu:
sudo apt install lxdeПоследната стъпка е да се уверите, че новата ви среда за работа е готова за стартиране. За да направите това, трябва да редактирате файла .xinitrcfile, в който в момента има само един ред /usr/ bin/twm. Трябва да го промените на /usr/bin/startlxde. Сега излезте от сесията XSDL (уверете се, че сте натиснали бутона STOP в областта за уведомления), задръжте бутона „Ubuntu listing“ на таба Sessions, след това натиснете „Stop Sessions“ и рестартирайте сесиите. След няколко секунди трябва да се появи системната среда LXDE. В нея можете да правите същото, което правите на обикновен работен плот. Просто може да е малко по-малка и да работи малко по-бавно: за да натиснете бутона на устройството, ще трябва да изчакате повече, отколкото ако го правите с клавиатура и мишка. Нека видим как конкретно можем да усъвършенстваме системната среда Linux на смартфона.
Кратко ръководство за UserLAnd
При внимателно разглеждане на съдържанието на работния плот можете да откриете точно възпроизвеждане на десктоп версията. Ако използвате UserLAnd на устройство с клавиатура и мишка (свързани чрез Bluetooth или по друг начин), ще ви бъде лесно да се приспособите към използването на системната среда Linux в този формат. С изключение на малкото забавяне, което се получава, тъй като курсорът на X-Windows се синхронизира с курсора на устройството на Android, всичко работи гладко.
Вероятно първото нещо, което ще искате да направите, е да регулирате предварително зададената система за шрифтове, тъй като размерът на шрифтовете на работния плот е твърде голям за екрана на телефона. Отидете в основното меню, след това изберете „Настройки“ → „Настройка на външния вид и виджетите“ → „Виджет“. Тук можете да промените размера на шрифта по подразбиране на по-подходящ вариант за вашия телефон.
След това може би искате да инсталирате любимите си програми в системната среда Linux. Както е посочено по-горе, командите за управление в този случай няма да работят, така че не се колебайте да използвате наистина незаменимия инструмент, който е инсталиран в системната среда UserLAnd, наречен ASAP:
sudo apt install emacs 
Дистрибутивите в приложението са представени под формата на сесии. Можете да ги стартирате и затворите.

След инсталиране на дистрибутива можете да добавите среда на работния плот с основни команди.
Вероятно, ще ви трябват и алтернативни начини за свързване с дистрибуцията си. Фактът, че първоначално сте инсталирали XSDL, не означава, че той трябва да остане неизменен по всяко време. Можете да създадете още една учетна запис на таба Сесия и да изберете друг сървър. Просто се уверете, че сте го посочили в една и съща файлова система. UserLAnd ще се опита да ви насочи към подходящото приложение, за да установите нов тип свързване: или XSDL, ConnectBot за SSH, или bVNC.
Настойчивостта, с която приложението автоматично ви насочва към Play Store при опит за повторно свързване, може да бъде дразнеща. За да предотвратите това, просто сменете сървъра чрез инсталация на специално приложение. За инсталиране на SSH изберете стария, но проверен VX ConnectBot. Просто влезте в порт 2022 на работната станция с вашето име и парола. За свързване със сървъра VNC просто инсталирайте платеното, но в много отношения напреднало приложение Jump Desktop и напишете адреса 127.0.0.1:5951.
Надяваме се да помните паролата за VNC, която зададохте, когато създавахте файлова система.
Достъпът до текущата сесия на UserLAnd също може да се извърши с подобни инструменти на друг компютър в мрежата ви. Просто свържете SSH към работещата сесия (с тип свързване SSH, естествено) чрез терминал на Linux, например Konsole, или се свържете с сесия VNC с помощта на KRDC. Просто заменете локалните адреси на екрана на компютъра с IP адресите на вашия Android.
В комбинация с няколко преносими приложения, тази инсталация ще ви предостави удобна преносима система Linux, до която можете да се свържете с всякакъв компютър, който имате в момента.
Източник: habr.com
