Hej, Habr! Jeg præsenterer hermed oversættelsen af en artikel fra magasinet APC.

I denne artikel diskuteres en fuld installation af Linux-operativsystemet sammen med et grafisk desktop-miljø på Android-enheder.
En af de nøgleteknologier, der anvendes af mange af Linux-systemerne på Android, er . Det er en implementation af chroot-værktøjet i brugerrummet, som er meget populært i desktop- og serverversioner af Linux. Men værktøjet chroot kræver root-brugerrettigheder, som ikke er tilgængelige som standard på Android. pRoot giver denne fordel ved at etablere en binde til et bibliotek.
Linux-terminaler
Ikke alle terminalemulatorer til Linux på Android har et sæt af BusyBox-værktøjer, i modsætning til for eksempel Termux. Dette skyldes, at hele idéen med sådanne systemer er at sikre en "fuld" installation af alle OS-komponenter, mens BusyBox er designet til at samle mange almindelige værktøjer i én binær fil. I systemer uden BusyBox benyttes en initial bootloader til Linux, som indeholder de fulde versioner af programmerne.
"
Angiv login og adgangskode til distributionen og VNC i UserLAnd.
Men i disse systemer findes der en yderligere teknologi, som ikke kræver tilstedeværelsen af Termux. I denne artikel vil der blive gennemgået en komplet installation af en Linux-distribution samt et GUI skrivebord. Men først er det nødvendigt at vælge en installationsmetode for det grafiske system.
Linux på Android
Som nævnt tidligere, de softwarepakker vi skal installere, kører i brugerrummet.
Det betyder, at de kun har tilladelse til den nuværende bruger, som i tilfældet med Android-operativsystemet altid er en almindelig bruger, dvs. ikke har administratorrettigheder. For at installere en Linux-skrivebord skal vi dog installere en grafisk server, som X eller Wayland. Hvis vi gjorde dette i et Linux-miljø, ville det starte med rettigheder som almindelig bruger, uden adgang til det grafiske lag i Android-operativsystemet. Derfor skal vi overveje at installere serveren 'på den standard Android' måde, så den har adgang til hardwaren og evnen til at understøtte den grafiske brugerflade.
De smarte folk fra udviklersamfundet har foreslået to løsninger til dette problem. Den første består i at bruge tilpassede versioner af Linux (normalt X-server). Når de først er startet i baggrunden, får du adgang til denne baggrundsproces via VNC. Hvis din Android-enhed allerede har et VNC-viewer-program til fjernadgang til andre computere, kan du blot bruge det til at få fjernadgang til den lokale enhed. Dette er en relativt enkel løsning, men nogle brugere rapporterer om problemer med programmets funktion.
Derudover er den anden mulighed at installere en server, der er specielt designet til Android-enheder. Nogle servere er tilgængelige i Play Store i betalte og gratis versioner. Før installationen skal du sikre dig, at den valgte version understøttes, eller i det mindste fungerer med den Linux-softwarepakke til Android, som du planlægger at installere. Vi har valgt X-Server-systemet og derfor brugt softwarepakken XServer XSDL (). Artiklen vil beskrive installationsprocessen for denne server, selvom den kan variere lidt, hvis du har installeret en anden app eller bruger VNC.
Valg af system
Som i tilfælde af X-Servers findes der flere apps til installation af Linux-distributioner i Play Store. Her, ligesom med Termux, vil vi fokusere på muligheder, der ikke kræver superbrugerrettigheder, hvilket indebærer en vis grad af risiko. Disse apps tilbyder al den nødvendige funktionalitet for de fleste brugere og holder samtidig dine data sikre. Nedenfor er eksempler på sådanne apps i Play Store:
— : et meget populært valg blandt brugerne. Appen inkluderer en pakke af almindelige distributioner: Debian, Ubuntu, Arch og Kali. Interessant nok, selvom der ikke er RPM-baserede muligheder, inkluderer UserLAnd Alpine Linux for enheder med lavere RAM.
— : denne app hjælper med at installere en eller flere tunge distributionslister og kan inkludere Ubuntu/Debian, Fedora/CentOS, openSUSE og endda Kali. Der er også mulighed for at vælge letvægtsdesktopmuligheder: Xfce4, MATE, LXQt og LXDE. For at fungere kræves det, at Termux allerede er installeret, og Android-operativsystemet skal være version 5.0 eller højere.
— : meget lig AnLinux. Kan have et bedre design end den tidligere app, men understøtter et mindre antal distributioner.
— : dette projekt begyndte som en Linux-version til Android og blev udviklet til programmer med åben kildekode. Som navnet antyder, fokuserer det på Debian-distributioner, mens 'X' på slutningen betyder, at appen er orienteret mod grafisk skrivebord. Og selvom skaberne stoppede udviklingen af projektet til fordel for UserLAnd, er GNURoot WheezyX stadig tilgængeligt i Play Store, hvis nogen har brug for det.
Forfatterne af denne artikel vil bruge applikationen UserLAnd til at installere en Linux-skrivebord på Android, og der er flere grunde til dette. For det første har applikationen open source (selvom AnLinux også har dette). For det andet tilbyder det et godt udvalg af distributioner (selvom Fedora eller CentOS ikke er inkluderet), og med det kan man installere distributioner med minimale systemkrav, der ikke optager meget plads på smartphone. Men den største fordel ved UserLAnd er, at det har installationsværktøjer til individuelle applikationer i stedet for hele distributioner. Vi finder ud af, hvad dette konkret betyder for os senere. Men nu lad os installere UserLAnd på din enhed.
Applikationen UserLAnd
Download applikationen fra Google Play eller F-Droid () til Android OS. Det installeres som enhver anden applikation – der er ikke noget særligt at gøre her. Efter dette åbner du det fra app-panelet.
Det første, du vil se der, er en liste over distributioner. På bunden kan du finde et par desktopmuligheder: LXDE og Xfce4. Det afsluttes med applikationen Firefox, et par spil og nogle kontorværktøjer: GIMP, Inkscape og LibreOffice. Denne fane kaldes "Applikationer". Den er beregnet til installation af applikationer.
Når du har installeret noget, vil der på fanen "Session" være en tilsvarende post om dette. Her kan du starte eller stoppe den aktuelle session samt se kørende processer.
"Filsystemer" – den sidste fane, som viser allerede afsluttede installationer. Det er værd at bemærke, at efter du har slettet et element fra Filsystemer, vil oplysningerne om det blive fjernet fra fanen Session, hvilket dog ikke modsiger det tidligere. Det betyder, at du kan oprette en ny session baseret på det nuværende filsystem. At forstå, hvordan dette forhold fungerer, er meget lettere, hvis man ser det i aktion, og derfor vil vi begynde med at installere applikationen i UserLAnd-systemmiljøet.

Før du installerer en distribution på smartphone, skal du give UserLAnd adgang til lageret.
Distributioner i UserLAnd
Vælg en af de distributioner, der vises på Apps-skærmen, for at installere den på enheden. Som eksempel vil vi bruge Ubuntu. Når du klikker på ikonet, vises et dialogvindue, der beder om brugernavn, adgangskode og VNC-adgangskode. Vælg derefter, hvordan du vil få adgang til distributionen. Downloaden vil begynde, hvor den grundlæggende billede af den valgte distribution anvendes. Udpakningen af filen vil finde sted i mappen UserLAnd.
Når downloadingen er færdig, skal du vende tilbage til terminal emulatoren xterm. Du kan indtaste kommandoen for at finde ud af, hvilken version af Linux du har installeret:
uname –aDet næste skridt er at installere skrivebordet ved hjælp af Ubuntu-kommandoen:
sudo apt install lxdeDet sidste skridt er at sikre, at dit nye skrivebordsmiljø er klar til at blive kørt. For at gøre dette skal du redigere filen .xinitrcfile, som i øjeblikket kun har én linje /usr/ bin/twm. Du skal ændre den til /usr/bin/startlxde. Log nu ud af XSDL-sessionen (sørg for at trykke på STOP-knappen i meddelelsesområdet), hold knappen "Ubuntu listing" nede på fanen Sessions, tryk derefter på "Stop Sessions" og genstart sessionerne. Efter et par sekunder bør LXDE-miljøet vises. Du kan gøre det samme her som på en normal skrivebord. Det kan bare være lidt mindre og køre lidt langsommere: for at trykke på en knap på enheden skal du vente længere end hvis du gjorde det med et tastatur og mus. Lad os se, hvordan vi konkret kan forbedre Linux-miljøet på en smartphone.
Kort vejledning til UserLAnd
Når du omhyggeligt undersøger indholdet på skrivebordet, vil du opdage en præcis rekreation af desktop-versionen. Hvis du bruger UserLAnd på en enhed med tastatur og mus (tilsluttet via Bluetooth eller på en anden måde), vil det være nemt at tilpasse sig at bruge Linux-miljøet i dette format. Bortset fra den lille forsinkelse, der opstår, da X-Windows-markøren synkroniseres med enhedens markør på Android, fungerer alt glat.
Måske er det første, du ønsker at gøre, at justere det standard skriftsystem, da skriftstørrelsen på skrivebordet er for stor til telefonens skærm. Gå til hovedmenuen, vælg derefter 'Indstillinger' → 'Tilpas udseende og widgets' → 'Widget'. Her kan du ændre standard skrifttypestørrelse til en mere passende variant for din telefon.
Måske vil du derefter installere dine yndlingsprogrammer i Linux-systemmiljøet. Som nævnt før vil kommandolinje-kommandoer ikke fungere i dette tilfælde, så brug frit det virkelig uundgåelige værktøj, der er installeret i UserLAnd-systemmiljøet, kaldet ASAP:
sudo apt install emacs 
Distributioner i appen præsenteres som sessioner. Du kan starte og lukke dem.

Efter installationen af distributionen kan du tilføje et skrivebords miljø med standardkommandoer.
Du vil sandsynligvis også have brug for alternative måder at oprette forbindelse til din distribution. Det faktum, at du oprindeligt installerede XSDL, betyder ikke, at det skal forblive uændret hele tiden. Du kan oprette endnu en konto på fanen Session og vælge en anden server. Sørg kun for, at du angiver den i det samme filsystem. UserLAnd vil forsøge at lede dig til den nødvendige app for at oprette en ny type forbindelse: enten XSDL, ConnectBot til SSH, eller bVNC.
Dog kan den vedholdenhed, hvormed appen automatisk leder dig til Play Store, når du forsøger at genoprette forbindelsen, være irriterende. For at stoppe dette, er det tilstrækkeligt at ændre serveren ved at installere en særlig app. For at installere SSH, vælg den gamle troværdige VX ConnectBot. Bare log ind på port 2022 på arbejdsstationen med dit navn og password. For at oprette forbindelse til VNC-serveren skal du blot installere den kommercielle, men på mange måder avancerede app Jump Desktop, og indtaste adressen 127.0.0.1:5951.
Vi håber, du husker VNC-adgangskoden, som du oprettede, da du lavede filsystemet.
Adgang til den nuværende UserLAnd-session kan også fås ved at bruge lignende værktøjer på en anden computer i dit netværk. Det er tilstrækkeligt at forbinde via SSH til den kørende session (med SSH-forbindelsestypen, naturligvis) ved hjælp af et Linux-terminal, for eksempel Konsole, eller ved at oprette forbindelse til VNC-sessionen med KRDC. Bare erstat lokale adresser på computerens skærm med IP-adresserne på din Android.
Sammen med et par bærbare applikationer vil denne opsætning give dig et praktisk bærbart Linux-system, som du kan tilslutte fra enhver computer, der er tilgængelig for dig lige nu.
Kilde: habr.com
