Pozdrav, Habr! Predstavljam vam prijevod članka iz časopisa APC.

U ovom članku raspravljamo o potpunoj instalaciji operativnog sustava Linux zajedno s grafičkim sučeljem na Android uređajima.
Jedna od ključnih tehnologija koju koriste mnogi Linux sustavi na Androidu je . To je implementacija alata chroot u korisničkom prostoru, koji je vrlo popularan u stolnim sustavima i Linux poslužiteljima. Međutim, za alat chroot potrebna su korisnička prava root, koja nisu dostupna po defaultu na Androidu. pRoot pruža ovu prednost tako što uspostavlja vezu s direktorijem.
Linux terminali
Nisu svi emulatori Linux terminala za Android opremljeni setom alata BusyBox, za razliku od, na primjer, Termux-a. Razlog tome je što je suština ovakvih sustava omogućiti 'potpunu' instalaciju svih komponenti OS-a, dok je BusyBox namijenjen da sjedini brojne zajedničke alate u jedan binarni datoteku. U sustavima gdje BusyBox nije instaliran, koristi se inicijalizacija za Linux, koja sadrži pune verzije programa.
"
Postavite korisničko ime i lozinku za distribuciju i VNC u UserLAnd.
No, u ovim sustavima postoji dodatna tehnologija koja ne zahtijeva prisutnost Termux-a. U ovom članku razmatrat će se potpuna instalacija Linux distribucije, kao i grafičkog sučelja. No prvo treba odabrati način instalacije grafičkog sustava.
Linux na Androidu
Kao što je ranije spomenuto, softverski paketi koje ćemo instalirati pokreću se u korisničkom prostoru.
To znači da imaju samo dozvole za trenutnog korisnika, koji je, u slučaju OS-a Android, uvijek obični korisnik, tj. nema administrativne privilegije. Međutim, kako bismo instalirali radnu površinu Linux, morat ćemo instalirati grafički poslužitelj, kao što su X ili Wayland. Da smo to radili u operativnom okruženju Linux, pokrenuo bi se s pravima običnog korisnika, pri čemu ne bi imao pristup grafičkoj razini OS-a Android. Stoga moramo razmotriti instalaciju poslužitelja na 'standardni' androidski način kako bi imao pristup hardveru i mogućnost podrške grafičkog okruženja.
Pametni ljudi iz zajednice programera ponudili su dva rješenja ovog problema. Prvo rješenje je korištenje vlastitih verzija Linux-a (obično je to X server). Kada počnu raditi u pozadini, dobit ćete pristup tom pozadinskom procesu putem VNC-a. Ako već imate VNC viewer aplikaciju na svom Android uređaju za udaljenu interakciju s drugim računalima, jednostavno je koristite za pristup lokalnom čvoru. Ovo je jednostavno rješenje, no neki korisnici prijavljuju poteškoće s radom aplikacije.
Druga opcija je instalirati server posebno dizajniran za uređaje na bazi Android-a. Neki serveri su dostupni na Play Store-u u plaćenim i besplatnim verzijama. Prije instalacije, provjerite je li odabrana opcija podržana ili barem radi li s programskim paketom Linux za Android koji planirate instalirati. Mi smo se odlučili za X-Server i koristili softverski paket XServer XSDL (). U ovom članku biće obrađen proces instalacije tog servera, iako se može malo razlikovati ako imate instaliranu drugu aplikaciju ili koristite VNC.
Odabir sustava
Kao u slučaju X-Servisa, na Play Store-u postoji nekoliko aplikacija za instalaciju distribucija Linux sustava. Ovdje ćemo se, kao i s Termux-om, fokusirati na opcije koje ne zahtijevaju ovlasti superkorisnika, što s jedne strane donosi određeni stupanj rizika. Ove aplikacije pružaju sve potrebne funkcionalnosti za većinu korisnika, dok istovremeno osiguravaju vaše podatke. Ispod su primjeri takvih aplikacija na Play Store-u:
— : vrlo popularan izbor među korisnicima. Aplikacija uključuje set uobičajenih distribucija: Debian, Ubuntu, Arch i Kali. Zanimljivo je da, unatoč nedostatku opcija temeljnih na RPM-u, UserLAnd uključuje Alpine Linux za uređaje s manjim kapacitetom memorije.
— : ova aplikacija pomaže u postavljanju jednog ili više velikih popisa distribucija i može uključivati Ubuntu/Debian, Fedora/CentOS, openSUSE, pa čak i Kali. Također možete odabrati opcije desktopa s niskim troškovima: Xfce4, MATE, LXQt i LXDE. Za rad je potreban instaliran Termux, a operacijski sustav Android trebao bi biti verzija 5.0 i novija.
— vrlo je sličan AnLinux-u. Možda ima bolji dizajn od prethodne aplikacije, ali podržava manje distribucija.
— : ovaj projekt je započeo kao varijanta Linuxa na Androidu i razvijan je za programe s otvorenim kodom. Kako naziv sugerira, fokusira se na Debian distribucije, dok ‘X‘ na kraju označava da je aplikacija usmjerena na grafičko radno okruženje. I iako su kreatori zaustavili razvoj projekta u korist UserLAnd-a, GNURoot WheezyX je i dalje dostupan na Play Store-u, ako netko ima potrebu za njim.
Autori ovog članka koristit će aplikaciju UserLAnd za instalaciju Linux radnog okruženja na Android, i za to postoje nekoliko razloga. Prvo, aplikacija ima otvoreni izvor (iako AnLinux također ima). Drugo, nudi dobar skup distribucija (iako ne uključuje Fedora ili CentOS), također uz njegovu pomoć možete instalirati distribucije s minimalnim sistemskim zahtjevima, koje neće zauzeti puno prostora u memoriji pametnog telefona. No, glavna prednost UserLAnd-a je to što ima alate za podršku za instalaciju pojedinačnih aplikacija umjesto cijelih distribucija. Saznat ćemo što to konkretno znači za nas kasnije. A sada, idemo instalirati UserLAnd na vaše uređaje.
Aplikacija UserLAnd
Preuzmite aplikaciju iz Google Play ili F-Droid () na Android OS. Instalira se kao i svaka druga aplikacija – nije potrebno ništa posebno raditi. Nakon toga, pokrenite je iz izbornika aplikacija.
Prvo što ćete tamo vidjeti je popis distribucija. Na kraju se mogu pronaći nekoliko desktop opcija: LXDE i Xfce4. Na vrhu su aplikacija Firefox, nekoliko igara i nekoliko uredskih alata: GIMP, Inkscape i LibreOffice. Ova kartica se zove “Aplikacije”. Predviđena je za instalaciju aplikacija.
Nakon što instalirate nešto, na kartici „Sesija” pojavit će se odgovarajući zapis o tome. Ovdje možete započeti ili zaustaviti trenutnu sesiju, kao i pregledati pokrenute procese.
„Datotečni sustavi” – posljednja kartica koja prikazuje već završene instalacije. Važno je napomenuti da, nakon što uklonite bilo koji element iz Datotečnih sustava, informacije o njemu bit će izbrisane iz kartice Sesija, što, međutim, ne dokazuje suprotno. To znači da možete stvoriti novu sesiju na temelju trenutnog datotečnog sustava. Razumjeti kako ova međusobna povezanost funkcionira mnogo je lakše kada to vidite u akciji, stoga ćemo početi s instalacijom aplikacije u sustavnom okruženju UserLAnd.

Prije nego što instalirate distribuciju na pametni telefon, potrebno je dati UserLAndu pristup pohrani.
Distribucije u UserLAndu
Odaberite jednu od distribucija prikazanih na ekranu Aplikacije za instalaciju na uređaj. Kao primjer koristit ćemo Ubuntu. Kada kliknete na ikonu, pojavljuje se dijaloški prozor u kojem se traži korisničko ime, lozinka i VNC lozinka. Zatim odaberite način na koji ćete pristupiti distribuciji. Počet će preuzimanje, tijekom kojeg će biti korištena osnovna slika odabrane distribucije. Raspakiranje datoteke bit će obavljeno u direktoriju UserLAnd.
Nakon završetka preuzimanja, vratite se u emulator terminala xterm. Možete unijeti naredbu za provjeru koju verziju Linuxa ste instalirali:
uname –aSljedeći korak je instalirati radnu površinu koristeći naredbu Ubuntu:
sudo apt install lxdeZadnji korak je osigurati da je vaše novo radno okruženje spremno za pokretanje. Da biste to učinili, trebate urediti datoteku .xinitrcfile, u kojoj trenutno postoji samo jedan redak /usr/ bin/twm. Treba ga promijeniti na /usr/bin/startlxde. Izaberite izlaz iz XSDL sesije (pobrinite se da ste pritisnuli dugme STOP u oblasti obaveštenja), držite dugme „Ubuntu listing” na kartici Sesije, zatim pritisnite „Stop Sessions” i ponovo pokrenite sesije. Za nekoliko sekundi trebalo bi da se pojavi sistemsko okruženje LXDE. U njemu možete raditi isto što i na običnoj radnoj površini. Samo može biti malo manje i raditi malo sporije: da biste pritisnuli dugme na uređaju, moraćete sačekati duže nego da to radite sa tastaturom i mišem. Pogledajmo kako konkretno možemo unaprediti sistemsko okruženje Linux-a na pametnom telefonu.
Kratki vodič za UserLAnd
Pažljivim proučavanjem sadržaja radne površine može se uočiti tačno rekreiranje desktop verzije. Ako koristite UserLAnd na uređaju sa tastaturom i mišem (povezanim putem Bluetooth veze ili na neki drugi način), biće lako prilagoditi se korišćenju sistemskog okruženja Linux-a u takvom formatu. Osim male latencije koja se javlja zbog sinhronizacije X-Windows kursora sa kursorom uređaja na Androidu, sve radi glatko.
Možda ćete prvo želeti da prilagodite podrazumevani sistem fontova, jer je veličina fonta na radnoj površini prevelika za ekran telefona. Idite u glavni meni, zatim izaberite „Podešavanja” → „Prilagodba izgleda i vidžeta” → „Vidžet”. Ovde možete promeniti podrazumevanu veličinu fonta na odgovarajući izbor za vaš telefon.
Možda ćete zatim želeti da instalirate svoje omiljene programe u sistemsko okruženje Linux-a. Kao što je spomenuto, sistemske komande u ovom slučaju neće raditi, pa slobodno koristite zaista nezamenljiv alat koji je instaliran u sistemskom okruženju UserLAnd, pod nazivom ASAP:
sudo apt install emacs 
Distribucije u aplikaciji predstavljene su kao sesije. Možete ih započeti i zatvoriti.

Nakon instalacije distribucije možete dodati okruženje radne površine sa standardnim komandama.
Vjerojatno će vam također trebati alternativni načini povezivanja za svoju distribuciju. Činjenica da ste prvotno instalirali XSDL ne znači da on mora ostati nepromijenjen cijelo vrijeme. Možete stvoriti još jedan račun na kartici Session i odabrati drugi poslužitelj. Samo se pobrinite da ga navedete u istoj datotečnom sustavu. UserLAnd će vas pokušati usmjeriti na odgovarajuću aplikaciju za postavljanje novog tipa veze: ili XSDL, ConnectBot za SSH, ili bVNC.
Međutim, upornost s kojom aplikacija automatski usmjerava vas na Play Store prilikom pokušaja ponovnog povezivanja može biti frustrirajuća. Da biste to prekinuli, jednostavno promijenite poslužitelj instaliranjem posebne aplikacije. Za instalaciju SSH odaberite staru, provjerenu aplikaciju VX ConnectBot. Samo se prijavite na port 2022 na radnoj stanici s vašim korisničkim imenom i lozinkom. Da biste se povezali sa VNC poslužiteljem, dovoljno je instalirati komercijalnu, ali u mnogim aspektima naprednu aplikaciju Jump Desktop i unijeti adresu 127.0.0.1:5951.
Nadamo se da se sjećate VNC lozinke koju ste postavili prilikom stvaranja datotečnog sustava.
Pristup trenutnoj sesiji UserLAnd također je moguć korištenjem sličnih alata na drugom računalu u vašoj mreži. Dovoljno je povezati se preko SSH s aktivnom sesijom (s tipom veze SSH, naravno) putem Linux terminala, npr. Konsole, ili se povezati s VNC sesijom putem KRDC-a. Samo zamijenite lokalne adrese na ekranu računala s IP adresama vašeg Android uređaja.
U kombinaciji s nekoliko prijenosnih aplikacija, ova postavka daje vam praktični prijenosni sustav Linux, kojem možete pristupiti s bilo kojeg računala koje vam je trenutno dostupno.
Izvor: habr.com
