Sveiki, Habr! Iepazīstinu jūs ar raksta tulkojumu no žurnāla APC.

Šajā rakstā tiek apskatīta pilnīga Linux darbvides instalācija kopā ar grafisko darbvirsmas saskarni Android ierīcēs.
Viens no galvenajiem tehnoloģiskajiem risinājumiem, ko izmanto daudzas Linux sistēmas Android, ir . Tā ir chroot utilītas realizācija lietotāja telpā, kas ir ļoti populāra galddatoru un serveru Linux. Tomēr chroot rīkam ir nepieciešamas root lietotāja privilēģijas, kas pēc noklusējuma nav pieejamas Android. pRoot nodrošina šo priekšrocību, veidojot saiti uz direktoriju.
Linux termināli
Ne visos Linux terminālu emulators Android ir pieejams BusyBox utilītu kopums, atšķirībā, piemēram, no Termux. Tam iemesls ir tas, ka visas šādu sistēmu jēga ir nodrošināt "pilnu" visus operētājsistēmas komponentus, kamēr BusyBox ir paredzēts tam, lai apvienotu visas parastās utilītas vienā binārā failā. Sistēmās, kurās nav uzstādīts BusyBox, tiek izmantota Linux sākotnējā ielāde, kas ietver pilnas versijas programmatūras.
"
Iestatiet lietotājvārdu un paroli distributīva un VNC UserLAnd.
Tomēr šajās sistēmās ir arī papildu tehnoloģija, kas neprasa Termux klātbūtni. Šajā rakstā tiks aplūkota pilna Linux distributīva instalācija, kā arī GUI darbvirsmas. Bet pirms tam ir jāizvēlas grafiskās sistēmas instalācijas veids.
Linux uz Android
Kā minēts iepriekš, programmatūras pakotnes, ko mēs instalēsim, darbosies lietotāja telpā.
Tas nozīmē, ka tām ir tikai atļauja pašreizējam lietotājam, kurš Android OS gadījumā vienmēr ir parasts lietotājs, t.i., viņam nav administratora privilēģiju. Tomēr, lai instalētu Linux darbvirsmu, mums būs jāuzstāda grafiskais serveris, piemēram, X vai Wayland. Ja mēs to darītu Linux operētājsistēmā, tas tiktu palaists ar parasta lietotāja privilēģijām, bez piekļuves Android OS grafiskajam līmenim. Tāpēc mums jāskatās uz standarta Android metodi, lai serverim būtu piekļuve aparatūrai un iespēja atbalstīt grafisko sistēmu.
Gudrie cilvēki no izstrādātāju kopienas piedāvāju divus risinājumus šai problēmai. Pirmais ir izmantot savu Linux versiju (parasti tas ir X serveris). Kad tas sāks darboties fona režīmā, jums būs piekļuve šim fona procesam, izmantojot VNC. Ja jūsu Android ierīcē jau ir VNC viewer programma, lai attālināti mijiedarbotos ar citām datoriem, vienkārši izmantojiet to, lai iegūtu attālinātu piekļuvi lokālajam mezglam. Tas ir vienkārši īstenojams risinājums, tomēr daži lietotāji ziņo par grūtībām programmas darbībā.
Otrais variants ir uzstādīt serveri, kas speciāli paredzēts Android ierīcēm. Daži serveri ir pieejami Play Store gan maksas, gan bezmaksas versijās. Pirms uzstādīšanas nepieciešams pārliecināties, ka izvēlētais variants ir atbalstīts vai vismaz darbojas ar to Linux programmatūras pakotni Android, ko plānojat instalēt. Mēs izvēlējāmies X-Server sistēmu, tāpēc izmantojām programmatūras pakotni XServer XSDL (). Šajā rakstā tiks aprakstīts šī servera uzstādīšanas process, lai gan tas var nedaudz atšķirties, ja jums ir instalēta cita lietotne vai arī izmantojat VNC.
Sistēmas izvēle
Kā jau X-Servers gadījumā, Play Store ir pieejamas vairākas lietotnes, kas paredzētas Linux distribūciju uzstādīšanai. Šeit, tāpat kā ar Termux, mēs koncentrēsimies uz iespējām, kas neprasa superlietotāja tiesības, kas savukārt rada noteiktu risku. Šīs lietotnes nodrošina visu nepieciešamo lielākajai daļai lietotāju, vienlaikus saglabājot jūsu datus drošībā. Zemāk ir piemēri šādām lietotnēm Play Store:
— : diezgan populārs lietotāju izvēle. Lietotne ietver kopumu izplatītām distribūcijām: Debian, Ubuntu, Arch un Kali. Interesanti, ka, neskatoties uz RPM bāzes variantu trūkumu, UserLAnd ietver Alpine Linux ierīcēm ar mazāku atmiņas apjomu.
— : šī lietotne palīdz instalēt vienu vai vairākus lielapjoma distribūciju sarakstus un var ietvert Ubuntu/Debian, Fedora/CentOS, openSUSE un pat Kali. Tur var izvēlēties arī zemu izmaksu darbvirsmas variantus: Xfce4, MATE, LXQt un LXDE. Lai darbotos, ir nepieciešams instalēts Termux, un Android operētājsistēmai jābūt no 5.0 un augstāk.
— ir ļoti līdzīgs AnLinux. Iespējams, tam ir labāks dizains nekā iepriekšējai lietotnei, tomēr tas atbalsta mazāku skaitu distribūciju.
— : šis projekts sākās kā Linux variants Android un tika izstrādāts atvērtā koda programmām. Kā liecina nosaukums, tas koncentrējas uz Debian distribūcijām, kamēr ‘X‘ beigās nozīmē, ka lietotne ir orientēta uz grafisko darbvirsmu. Un kaut arī veidotāji pārtrauca projekta izstrādi UserLAnd dēļ, GNURoot WheezyX joprojām ir pieejama Play Store, ja kādam tā ir vajadzīga.
Šī raksta autori izmantos lietotni UserLAnd, lai instalētu Linux darbvirsmu Android, un tam ir vairāki iemesli. Pirmkārt, lietotnei ir atvērts kods (lai gan arī AnLinux to ir). Otrkārt, tā piedāvā labu distribūciju komplektu (lai gan tajā nav ietvertas Fedora vai CentOS), kā arī ar tās palīdzību var instalēt distribūcijas ar minimālām sistēmas prasībām, kas neaizņems daudz vietas viedtālruņa atmiņā. Bet galvenā priekšrocība UserLAnd ir tā, ka tā piedāvā atbalsta rīkus atsevišķu lietotņu instalēšanai, nevis visu distribūciju. Mēs noskaidrosim, ko tieši tas nozīmē mums vēlāk. Bet tagad sāciet instalēt UserLAnd savā ierīcē.
Lietotne UserLAnd
Lejupielādējiet lietotni no Google Play vai F-Droid () uz Android OS. Tā tiek instalēta kā jebkura cita lietotne - šeit nekas īpašs nav jādara. Pēc tam palaižiet to no lietotņu paneļa.
Pirmais, ko tur redzēsiet – ir distribūciju saraksts. Beigās var atrast pāris darbvirsmas variantus: LXDE un Xfce4. To noslēdz lietotne Firefox, pāris spēles un dažas office utilītas: GIMP, Inkscape un LibreOffice. Šī cilne saucas «Lietojumprogrammas». Tā ir paredzēta lietojumprogrammu instalēšanai.
Pēc tam, kad jūs instalēsiet kaut ko, sadaļā „Session” parādīsies attiecīgs ieraksts. Šeit varat uzsākt vai apturēt esošo sesiju, kā arī apskatīt palaistos procesus.
„Filesystems” — pēdējā sadaļa, kas rāda jau pabeigtās instalācijas. Vērts atzīmēt, ka pēc tam, kad no Filesystems izdzēsīsit kādu elementu, informācija par to tiks dzēsta no sadaļas Session, taču tas nenozīmē pretējo. Tas nozīmē, ka jūs varat izveidot jaunu sesiju, balstoties uz esošo failu sistēmu. Saprast, kā strādā šī savstarpējā saikne, ir daudz vieglāk, ja to redz rīcībā, tāpēc sāksim ar lietojumprogrammas instalēšanu sistēmas vidē UserLAnd.

Pirms instalējat distribūciju viedtālrunī, nepieciešams piešķirt UserLAnd piekļuvi krātuvei.
Distribūcijas UserLAnd
Izvēlieties vienu no distribuējumiem, kas atrodas ekrānā Apps, lai instalētu ierīcē. Par piemēru mēs izmantosim Ubuntu. Noklikšķinot uz ikonas, parādīsies dialogs, kurā tiks lūgts lietotāja vārds, parole un VNC parole. Pēc tam izvēlieties veidu, kādā jūs piekļūsiet distribūcijai. Sāksies lejupielāde, kuras laikā tiks izmantots izvēlētās distribūcijas pamatattēls. Faila izsaiņošana notiks UserLAnd direktorijā.
Pabeidzot lejupielādi, atgriezieties pie xterm termināla emulatora. Varat ievadīt komandu, lai noskaidrotu, kuru Linux versiju esat instalējis:
uname –aNākamais solis ir instalēt darbvirsmu, izmantojot Ubuntu komandu:
sudo apt install lxdePēdējais solis ir pārliecināties, ka jūsu jaunā darbvirsmas vide ir gatava izmantošanai. Lai to izdarītu, jāredaktē fails .xinitrcfile, kur pašlaik ir tikai viena rindiņa /usr/ bin/twm. To jāmaina uz /usr/bin/startlxde. Noga iziet no XSDL sesijas (pārliecinieties, ka esat nospieduši pogu STOP paziņojumu zonā), turiet pogu "Ubuntu listing" cilnē Sesijas, pēc tam noklikšķiniet uz "Stop Sessions" un atkārtoti uzsāciet sesijas. Pēc dažām sekundēm vajadzētu parādīties LXDE sistēmas videi. Tajā varat darīt to pašu, ko uz parastā darbvirsmas. Tā var būt tikai nedaudz mazāka un darboties nedaudz lēnāk: lai nospiestu pogu ierīcē, jums jāgaida ilgāk, nekā ja jūs to darītu ar tastatūru un peli. Apskatīsim, kā tieši mēs varam uzlabot Linux sistēmas vidi viedtālrunī.
Īss ceļvedis uz UserLAnd
Rūpīgi izpētot darbvirsmas saturu, var pamanīt precīzu darbvirsmas versijas atveidojumu. Ja lietojat UserLAnd ierīcē ar tastatūru un peli (saskaņoti caur Bluetooth savienojumu vai kā citādi), jums būs viegli pielāgoties Linux sistēmas vides izmantošanai šādā formātā. Izņemot nelielo kavēšanos, kas rodas, kad X-Windows kursoru sinhronizē ar Android ierīces kursora, viss darbojas gludi.
Iespējams, pirmais, ko vēlēsities izdarīt, ir noregulēt noklusējuma fontu sistēmu, jo darbvirsmas fontu izmērs ir pārāk liels telefona ekrānam. Iet uz galveno izvēlni, tad izvēlieties "Iestatījumi" → "Izskata un logrīku konfigurācija" → "Logrīks". Šeit varat mainīt noklusējuma fonta lielumu uz piemērotāku variantu jūsu telefonam.
Iespējams, nākamais, ko jūs vēlēsities izdarīt, ir instalēt savas iecienītās programmas Linux sistēmas vidē. Kā minēts iepriekš, komandas šajā gadījumā nedarbosies, tāpēc droši izmantojiet patiesi neaizvietojamo rīku, kas ir uzstādīts UserLAnd sistēmas vidē, ko sauc par ASAP:
sudo apt install emacs 
Distribūcijas lietotnē tiek attēlotas kā sesijas. Jūs varat tās sākt un aizvērt.

Pēc distribūcijas instalēšanas variet pievienot darbvirsmas vidi ar standarta komandām.
Iespējams, jums arī būs nepieciešami alternatīvi veidi, kā izveidot savienojumu ar savu izplatījumu. Tas, ka jūs sākotnēji instalējāt XSDL, nenozīmē, ka tas ir jāpaliek nemainīgam visu laiku. Jūs varat izveidot vēl vienu kontu cilnē Session un izvēlēties citu serveri. Tikai pārliecinieties, ka norādāt to vienā un tajā pašā failu sistēmā. UserLAnd mēģinās vadīt jūs uz vajadzīgo lietotni, lai izveidotu jauna veida savienojumu: vai nu XSDL, ConnectBot SSH vai bVNC.
Tomēr neatlaidība, ar kādu lietotne automātiski virza jūs uz Play Store, mēģinot pārsavienot, var būt kaitinoša. Lai to pārtrauktu, vienkārši nomainiet serveri, instalējot speciālu lietotni. Lai instalētu SSH, izvēlieties veco pārbaudīto VX ConnectBot. Vienkārši piesakieties portā 2022 darba stacijā ar savu lietotājvārdu un paroli. Lai savienotos ar VNC serveri, pietiks uzstādīt komerciālu, bet daudzās jomās progresīvo lietotni Jump Desktop un ievadīt adresi 127.0.0.1:5951.
Ceram, ka jūs atceraties VNC paroli, kuru uzstādījāt, kad izveidojāt failu sistēmu.
Piekļūt esošajai UserLAnd sesijai var arī, izmantojot līdzīgus rīkus citā datorā jūsu tīklā. Pietiek pieslēgties SSH pie aktīvās sesijas (ar savienojuma tipu SSH, protams) caur Linux termināli, piemēram, Konsole, vai savienoties ar VNC sesiju, izmantojot KRDC. Vienkārši aizvietojiet vietējās adreses datora ekrānā ar jūsu Android IP adresēm.
Apvienojumā ar pāris pārnēsājamiem rīkiem, šī iestatīšana sniegs jums ērtu portatīvo Linux sistēmu, kurai var piekļūt no jebkura datora, kas jums šobrīd ir pieejams.
Avots: habr.com
