Hallo, Habr! Hier presenteer ik een vertaling van een artikel uit het tijdschrift APC.

In dit artikel wordt de volledige installatie van de Linux-werkomgeving, inclusief een grafische desktopomgeving op Android-apparaten, besproken.
Een van de sleuteltechnologieƫn die door veel Linux-systemen op Android wordt toegepast, is . Dit is een implementatie van de chroot-tool in de gebruikersruimte, die populair is in desktop- en server-Linuxsystemen. Voor de chroot-tool zijn echter root-rechten vereist, die standaard niet beschikbaar zijn op Android. pRoot biedt dit voordeel door een bind-mount naar de directory tot stand te brengen.
Linux-terminals
Niet alle Linux-terminalemulators voor Android bevatten een set BusyBox-hulpmiddelen, in tegenstelling tot bijvoorbeeld Termux. Dit komt omdat het hele idee van dergelijke systemen is om een 'volledige' installatie van alle OS-componenten te bieden, terwijl BusyBox bedoeld is om al deze algemene hulpmiddelen in één binaire bestand samen te voegen. In systemen waar BusyBox niet is geïnstalleerd, wordt de initiële opstart voor Linux gebruikt, die volledige versies van programma's bevat.
"
Stel een gebruikersnaam en wachtwoord in voor de distributie en VNC in UserLAnd.
Echter, in deze systemen is er een aanvullende technologie die geen Termux vereist. In dit artikel zullen we de volledige installatie van een Linux-distributie en een GUI-desktop bekijken. Maar eerst moeten we de installatie methode van het grafische systeem kiezen.
Linux op Android
Zoals eerder vermeld, worden de softwarepakketten die we zullen installeren, uitgevoerd in de gebruikersruimte.
Dit betekent dat ze alleen toestemming hebben voor de huidige gebruiker, die in het geval van Android altijd een gewone gebruiker is, dat wil zeggen. zonder administratorrechten. Echter, om de Linux-desktop te installeren, moeten we een grafische server zoals X of Wayland installeren. Als we dit in een Linux-werkomgeving zouden doen, zou deze worden uitgevoerd met de rechten van een gewone gebruiker, zonder toegang te hebben tot het grafische niveau van het Android-besturingssysteem. Daarom moeten we ons richten op de installatie van de server op de 'standaard' Android-manier, zodat deze toegang heeft tot de hardware en in staat is om de grafische omgeving te ondersteunen.
Slimme jongens uit de ontwikkelaarsgemeenschap hebben twee oplossingen voor dit probleem voorgesteld. De eerste is om aangepaste versies van Linux te gebruiken (meestal de X-server). Zodra deze op de achtergrond draaien, krijg je toegang tot dit achtergrondproces via VNC. Als je al een VNC-viewer op je Android-apparaat hebt voor externe interactie met andere computers, gebruik deze dan om op afstand toegang te krijgen tot de lokale knooppunt. Dit is een eenvoudig uitvoerbare oplossing, maar sommige gebruikers melden dat ze problemen ondervinden met het programma.
De tweede optie is om een server te installeren die speciaal is ontworpen voor Android-apparaten. Sommige servers zijn beschikbaar in de Play Store in zowel betaalde als gratis versies. Controleer voordat je installeert of de gekozen optie wordt ondersteund of ten minste werkt met het Linux-programmapakket voor Android dat je van plan bent te installeren. Wij hebben gekozen voor het X-Server-systeem en gebruikten daarom het XServer XSDL-programmapakket (). Dit artikel beschrijft het installatieproces van deze server, hoewel dit iets kan verschillen als je een andere applicatie hebt geĆÆnstalleerd of VNC gebruikt.
Keuze van het systeem
Zoals bij X-Servers, zijn er in de Play Store verschillende applicaties voor het installeren van Linux-distributies. Hier concentreren we ons ook op opties die geen supergebruikersrechten vereisen, wat op zijn beurt een bepaalde mate van risico met zich meebrengt. Deze applicaties bieden alle functionaliteit die de meeste gebruikers nodig hebben, terwijl ze jouw gegevens veilig houden. Hieronder staan voorbeelden van dergelijke applicaties in de Play Store:
ā : een zeer populaire keuze onder gebruikers. De applicatie bevat een set van gangbare distributies: Debian, Ubuntu, Arch en Kali. Het is interessant dat, ondanks het ontbreken van RPM-gebaseerde opties, UserLAnd Alpine Linux omvat voor apparaten met minder werkgeheugen.
ā : deze applicatie helpt bij het installeren van een of meerdere grote distributielijsten en kan Ubuntu/Debian, Fedora/CentOS, openSUSE en zelfs Kali omvatten. Daarnaast kan men low-cost desktop opties kiezen: Xfce4, MATE, LXQt en LXDE. Voor gebruik is Termux vereist, en het Android-besturingssysteem moet versie 5.0 of hoger zijn.
ā is zeer vergelijkbaar met AnLinux. Het heeft misschien een betere lay-out dan de vorige applicatie, maar ondersteunt minder distributies.
ā : dit project begon als een variant van Linux op Android en werd ontwikkeld voor open source software. Zoals de naam al aangeeft, richt het zich op Debian-distributies, terwijl de āXā aan het einde betekent dat de applicatie gericht is op een grafische desktop. En hoewel de ontwikkelaars de ontwikkeling van het project stopzetten ten gunste van UserLAnd, is GNURoot WheezyX nog steeds beschikbaar in de Play Store voor degenen die het nodig hebben.
De auteurs van dit artikel zullen de UserLAnd-app gebruiken om een Linux-desktop op Android te installeren, en daar zijn verschillende redenen voor. Ten eerste is de applicatie open source (hoewel AnLinux dat ook is). Ten tweede biedt het een goede set distributies aan (hoewel Fedora of CentOS er niet bij zitten), en met deze app kunnen distributies met minimale systeemeisen worden geĆÆnstalleerd, die niet veel opslagruimte op de smartphone innemen. Maar het grootste voordeel van UserLAnd is dat het ondersteuningshulpmiddelen heeft voor het installeren van afzonderlijke applicaties in plaats van volledige distributies. We zullen later uitzoeken wat dit precies voor ons betekent. Laten we nu UserLAnd op je apparaat installeren.
UserLAnd-app
Download de applicatie van Google Play of F-Droid () op Android. Het wordt geĆÆnstalleerd zoals elke andere applicatie - er is niets bijzonders aan de hand. Start het daarna vanuit het app-paneel.
Het eerste wat je daar zult zien, is een lijst met distributies. Onderaan vind je een paar desktopopties: LXDE en Xfce4. Dit wordt gevolgd door de Firefox-app, een paar spellen en enkele kantoorhulpmiddelen: GIMP, Inkscape en LibreOffice. Dit tabblad staat bekend als 'Applicaties'. Het is bedoeld voor het installeren van toepassingen.
Nadat je iets hebt geĆÆnstalleerd, verschijnt er een overeenkomstige vermelding op het tabblad 'Session'. Hier kun je de huidige sessie starten of stoppen, en de actieve processen bekijken.
āFilesystemsā is het laatste tabblad dat de reeds voltooide installaties toont. Het is belangrijk op te merken dat wanneer je een item uit Filesystems verwijdert, de informatie erover uit het tabblad Session wordt gewist, wat echter niet het tegendeel bewijst. Dit betekent dat je een nieuwe sessie kunt creĆ«ren op basis van het huidige bestandssysteem. Het begrijpen van deze relatie is veel eenvoudiger als je dit in actie ziet, daarom beginnen we met de installatie van een applicatie in de systeemomgeving van UserLAnd.

Voordat je de distributie op de smartphone installeert, moet je UserLAnd toegang tot de opslag geven.
Distributies in UserLAnd
Selecteer een van de distributies die op het scherm met Apps staan om op het apparaat te installeren. We gebruiken Ubuntu als voorbeeld. Wanneer je op het pictogram klikt, verschijnt er een dialoogvenster dat vraagt om een gebruikersnaam, wachtwoord en VNC-wachtwoord. Kies vervolgens de manier waarop je toegang wilt krijgen tot de distributie. De download start, waarbij de basisafbeelding van de gekozen distributie wordt gebruikt. Het bestand wordt uitgepakt in de UserLAnd-directory.
Nadat de download is voltooid, ga je terug naar de terminalemulator xterm. Je kunt een hulpprogrammacommand intypen om te zien welke versie van Linux je hebt geĆÆnstalleerd:
uname āaDe volgende stap is om de desktop te installeren met de hulpprogrammacommand van Ubuntu:
sudo apt install lxdeDe laatste stap is om te controleren of je nieuwe desktopomgeving klaar is om te worden gestart. Om dit te doen, moet je het bestand .xinitrcfile, waar momenteel slechts ƩƩn regel in staat, /usr/ bin/twmveranderen in /usr/bin/startlxde. Log nu uit de XSDL-sessie (zorg ervoor dat u op de STOP-knop in het meldingsgebied hebt gedrukt), houd de knop 'Ubuntu listing' ingedrukt op het tabblad Sessies, klik vervolgens op 'Stop Sessies' en start de sessies opnieuw. Na enkele seconden zou de systeemomgeving LXDE moeten verschijnen. U kunt hetzelfde doen als op een normale desktop. Het kan alleen iets kleiner zijn en iets trager werken: om een knop op het apparaat te drukken, moet u langer wachten dan wanneer u dit met een toetsenbord en muis zou doen. Laten we eens kijken hoe we de Linux-systeemomgeving op de smartphone specifiek kunnen verbeteren.
Korte handleiding voor UserLAnd
Bij een zorgvuldige bestudering van de inhoud van de desktop kunt u een exacte recreatie van de desktopversie ontdekken. Als u UserLAnd op een apparaat met een toetsenbord en muis (verbonden via Bluetooth of op een andere manier) gebruikt, zal het u gemakkelijk afgaan om aan de Linux-systeemomgeving in dit formaat te wennen. Behalve een lichte vertraging die optreedt doordat de X-Windows-cursor synchroniseert met de cursor van het Android-apparaat, werkt alles soepel.
Misschien wilt u als eerste de standaard ingestelde lettertypes aanpassen, aangezien de lettergrootte van de desktop te groot is voor het telefoonscherm. Ga naar het hoofdmenu, selecteer vervolgens 'Instellingen' ā 'Weergave en widgets aanpassen' ā 'Widget'. Hier kunt u de standaard lettergrootte veranderen in een geschiktere optie voor uw telefoon.
Misschien wilt u vervolgens uw favoriete programma's in de Linux-systeemomgeving installeren. Zoals eerder vermeld, zullen de hulpprogramma's in dit geval niet werken, dus gebruik gerust het onmisbare gereedschap dat is geĆÆnstalleerd in de UserLAnd-systeemomgeving, genaamd ASAP:
sudo apt install emacs 
Distrubuties in de applicatie worden weergegeven als sessies. U kunt ze starten en afsluiten.

Na het installeren van de distributie kunt u de desktopomgeving toevoegen met de standaardopdrachten.
Waarschijnlijk heeft u ook alternatieve manieren nodig om verbinding te maken met uw distributie. Het feit dat u aanvankelijk XSDL hebt geĆÆnstalleerd, betekent niet dat het altijd hetzelfde moet blijven. U kunt een ander account aanmaken op het tabblad Sessie en een andere server selecteren. Zorg er alleen voor dat u deze in hetzelfde bestandssysteem hebt opgegeven. UserLAnd zal proberen u naar de juiste applicatie te leiden om een nieuw type verbinding in te stellen: ofwel XSDL, ConnectBot voor SSH, of bVNC.
De volharding waarmee de applicatie u automatisch naar de Play Store leidt bij het proberen opnieuw verbinding te maken, kan echt frustrerend zijn. Om dit te stoppen, hoeft u alleen maar de server te veranderen door een speciale applicatie te installeren. Voor SSH kunt u de oude vertrouwde VX ConnectBot gebruiken. Log gewoon in op poort 2022 op uw werkstation met uw gebruikersnaam en wachtwoord. Om verbinding te maken met de VNC-server hoeft u alleen maar de commerciƫle, maar in veel opzichten geavanceerde Jump Desktop-applicatie te installeren en het adres 127.0.0.1:5951 in te voeren.
Hopelijk herinnert u zich het VNC-wachtwoord dat u heeft ingesteld toen u het bestandssysteem aanmaakte.
U kunt ook toegang krijgen tot de huidige UserLAnd-sessie met behulp van vergelijkbare tools op een andere computer in uw netwerk. Het is voldoende om via een Linux-terminal, zoals Konsole, SSH te verbinden met een actieve sessie (met het type verbinding SSH, natuurlijk), of te verbinden met de VNC-sessie met behulp van KRDC. Vervang gewoon de lokale adressen op het scherm van uw computer door de IP-adressen van uw Android.
In combinatie met een paar draagbare applicaties zal deze set-up u een handige draagbare Linux-systeem bieden, waartoe u kunt verbinden met elke computer die op dat moment beschikbaar is.
Bron: habr.com
