Wir richten den Linux-Desktop auf Android ein

Hallo, Habr! Ich präsentiere Ihnen die Übersetzung eines Artikels aus der APC-Zeitschrift.

Wir richten den Linux-Desktop auf Android ein
In diesem Artikel wird die vollständige Installation einer Linux-Betriebsumgebung zusammen mit einer grafischen Desktop-Oberfläche auf Android-Geräten behandelt.

Eine der Schlüsseltechnologien, die viele Linux-Systeme auf Android verwenden, ist pRoot. Dies ist eine Implementierung des chroot-Dienstprogramms im Benutzerspace, das in Desktop-Systemen und Linux-Servern sehr beliebt ist. Für das chroot-Werkzeug sind jedoch Benutzerrechte des Root-Benutzers erforderlich, die standardmäßig auf Android nicht verfügbar sind. pRoot hingegen bietet diesen Vorteil, indem es eine Bindung an das Verzeichnis herstellt.

Linux-Terminals

Nicht alle Linux-Terminalemulatoren für Android verfügen über die BusyBox-Dienstprogramme, im Gegensatz zum Beispiel zu Termux. Der Grund dafür ist, dass der gesamte Sinn solcher Systeme darin besteht, eine "vollständige" Installation aller Betriebssystemkomponenten bereitzustellen, während BusyBox darauf abzielt, die Vielzahl gängiger Dienstprogramme in einer einzigen Binärdatei zusammenzufassen. In Systemen, in denen BusyBox nicht installiert ist, wird der Bootloader für Linux verwendet, der vollständige Versionen der Programme enthält.
Wir richten den Linux-Desktop auf Android ein"

Geben Sie einen Benutzernamen und ein Passwort für die Distribution und VNC in UserLAnd ein.

In diesen Systemen gibt es jedoch eine zusätzliche Technologie, die kein Termux erfordert. In diesem Artikel wird die vollständige Installation einer Linux-Distribution und einer GUI-Desktop-Oberfläche behandelt. Zuvor muss jedoch die Installationsmethode für das grafische System gewählt werden.

Linux auf Android

Wie bereits erwähnt, werden die Softwarepakete, die wir installieren werden, im Benutzerspace ausgeführt.

Das bedeutet, dass sie nur die Berechtigung für den aktuellen Benutzer haben, der im Falle von Android immer ein normaler Benutzer ist, d.h. keine Administratorrechte hat. Um jedoch einen Linux-Desktop zu installieren, müssen wir einen grafischen Server installieren, z.B. X oder Wayland. Wenn wir dies in einer Linux-Betriebsumgebung tun würden, würde er mit den Rechten eines normalen Benutzers gestartet werden, ohne dabei Zugriff auf die grafische Ebene des Android-Betriebssystems zu haben. Daher müssen wir in Richtung der Installation des Servers auf die "Standard"-Android-Art schauen, damit er Zugriff auf die Hardware hat und in der Lage ist, die grafische Umgebung zu unterstützen.

Die klugen Köpfe aus der Entwicklergemeinschaft haben zwei Lösungen für dieses Problem vorgeschlagen. Die erste besteht darin, eigene Versionen von Linux zu verwenden (in der Regel ist dies der X-Server). Sobald diese im Hintergrund gestartet werden, haben Sie Zugriff auf diesen Hintergrundprozess über VNC. Wenn auf Ihrem Android-Gerät bereits ein VNC Viewer für die Remote-Interaktion mit anderen Computern installiert ist, verwenden Sie einfach diese, um Remote-Zugriff auf den lokalen Knoten zu erhalten. Dies ist eine einfach umzusetzende Lösung, jedoch berichten einige Benutzer von Schwierigkeiten bei der Verwendung der Anwendung.

Die zweite Möglichkeit besteht darin, einen Server zu installieren, der speziell für Android-Geräte konzipiert ist. Einige Server sind im Play Store in kostenpflichtigen und kostenlosen Versionen verfügbar. Vor der Installation sollten Sie überprüfen, ob die gewählte Option unterstützt wird oder zumindest mit dem Linux-Paket für Android funktioniert, das Sie installieren möchten. Wir haben uns für das X-Server-System entschieden und daher das Paket XServer XSDL verwendet (Link). Der Artikel wird den Installationsprozess dieses Servers beschreiben, obwohl er leicht variieren kann, wenn Sie eine andere Anwendung installiert haben oder VNC verwenden.

Auswahl des Systems

Wie bei X-Servers gibt es im Play Store mehrere Anwendungen zur Installation von Linux-Distributionen. Auch hier, wie bei Termux, konzentrieren wir uns auf Optionen, die keine Root-Rechte erfordern, da dies ein gewisses Risiko mit sich bringt. Diese Anwendungen bieten alle notwendigen Funktionen für die meisten Benutzer und schützen dabei Ihre Daten. Nachfolgend einige Beispiele solcher Anwendungen im Play Store:

UserLAnd: eine sehr beliebte Wahl der Benutzer. Die Anwendung enthält eine Sammlung gängiger Distributionen: Debian, Ubuntu, Arch und Kali. Interessanterweise beinhaltet UserLAnd trotz fehlender RPM-basierten Optionen auch Alpine Linux für Geräte mit weniger Speicher.

AnLinux: Diese Anwendung hilft bei der Installation einer oder mehrerer umfangreicher Distributionen und kann Ubuntu/Debian, Fedora/CentOS, openSUSE und sogar Kali umfassen. Außerdem können kostengünstige Desktop-Varianten wie Xfce4, MATE, LXQt und LXDE ausgewählt werden. Für die Nutzung wird ein installiertes Termux benötigt, und das Betriebssystem Android sollte 5.0 oder höher sein.

Andronix ist AnLinux sehr ähnlich. Möglicherweise verfügt es über ein besseres Design als die vorherige Anwendung, unterstützt jedoch eine geringere Anzahl von Distributionen.

GNURoot WheezyX: Dieses Projekt begann als eine Linux-Variante auf Android und wurde für Programme mit offenem Quellcode entwickelt. Wie der Name schon sagt, konzentriert es sich auf Debian-Distributionen, während 'X' am Ende bedeutet, dass die Anwendung auf eine grafische Desktop-Oberfläche ausgerichtet ist. Und obwohl die Entwickler die Entwicklung des Projekts zugunsten von UserLAnd eingestellt haben, ist GNURoot WheezyX weiterhin im Play Store verfügbar, falls jemand es benötigt.

Die Autoren dieses Artikels werden die Anwendung UserLAnd verwenden, um einen Linux-Desktop auf Android zu installieren, und dafür gibt es mehrere Gründe. Erstens, die Anwendung hat einen offenen Quellcode (obwohl auch AnLinux einen hat). Zweitens, sie bietet eine gute Auswahl an Distributionen (obwohl Fedora oder CentOS nicht enthalten sind), und sie ermöglicht die Installation von Distributionen mit minimalen Systemanforderungen, die nicht viel Speicherplatz auf dem Smartphone beanspruchen. Aber der größte Vorteil von UserLAnd ist, dass es Unterstützungstools für die Installation einzelner Anwendungen anstelle ganzer Distributionen hat. Wir werden später herausfinden, was das konkret für uns bedeutet. Jetzt lassen Sie uns UserLAnd auf Ihrem Gerät installieren.

Die Anwendung UserLAnd

Laden Sie die Anwendung aus dem Google Play oder F-Droid (Link) auf das Android-Betriebssystem herunter. Sie wird wie jede andere Anwendung installiert – man muss nichts Besonderes dafür tun. Danach starten Sie sie aus dem App-Menü.

Das Erste, was Sie dort sehen werden, ist eine Liste von Distributionen. Am Ende finden Sie einige Desktop-Optionen: LXDE und Xfce4. Abgerundet wird dies durch die Anwendung Firefox, ein paar Spiele und einige Büro-Utilities: GIMP, Inkscape und LibreOffice. Dieser Tab heißt "Anwendungen". Er dient der Installation von Anwendungen.

Nachdem Sie etwas installiert haben, erscheint auf der Registerkarte „Sitzung“ der entsprechende Eintrag dazu. Hier können Sie die aktuelle Sitzung starten oder stoppen und die laufenden Prozesse einsehen.

„Dateisysteme“ ist die letzte Registerkarte, die bereits abgeschlossene Installationen anzeigt. Es ist erwähnenswert, dass nach dem Löschen eines Elements aus den Dateisystemen die Informationen darüber von der Registerkarte Sitzung gelöscht werden, was jedoch nicht das Gegenteil beweist. Das bedeutet, dass Sie eine neue Sitzung basierend auf dem aktuellen Dateisystem erstellen können. Zu verstehen, wie diese Beziehung funktioniert, ist viel einfacher, wenn man es in Aktion sieht, und deshalb beginnen wir mit der Installation der Anwendung in der Systemumgebung UserLAnd.
Wir richten den Linux-Desktop auf Android ein

Bevor Sie ein Distributionspaket auf Ihrem Smartphone installieren, müssen Sie UserLAnd den Zugriff auf den Speicher ermöglichen.

Distributionen in UserLAnd

Wählen Sie eine der auf dem Bildschirm Apps angezeigten Distributionen zur Installation auf dem Gerät. Als Beispiel verwenden wir Ubuntu. Wenn Sie auf das Symbol klicken, erscheint ein Dialogfenster, in dem nach dem Benutzernamen, Passwort und VNC-Passwort gefragt wird. Wählen Sie dann die Methode, mit der Sie auf die Distribution zugreifen möchten. Der Download beginnt, wobei das Basisbild der gewählten Distribution verwendet wird. Die Datei wird im Verzeichnis UserLAnd entpackt.

Nach dem Download kehren Sie zum Terminalemulator xterm zurück. Sie können einen Befehl eingeben, um herauszufinden, welche Version von Linux Sie installiert haben:

uname –a

Der nächste Schritt besteht darin, einen Desktop zu installieren, indem Sie den folgenden Befehl in Ubuntu verwenden:

sudo apt install lxde

Der letzte Schritt besteht darin, sicherzustellen, dass Ihre neue Desktop-Umgebung bereit ist, gestartet zu werden. Dazu müssen Sie die Datei .xinitrcfile, in der derzeit nur eine Zeile vorhanden ist, ändern. /usr/ bin/twmÄndern Sie sie in /usr/bin/startlxdeJetzt verlassen Sie die XSDL-Sitzung (stellen Sie sicher, dass Sie die STOP-Taste im Benachrichtigungsbereich gedrückt haben), halten Sie die Taste „Ubuntu listing“ auf dem Tab Sitzungen gedrückt, klicken Sie dann auf „Sitzungen stoppen“ und starten Sie die Sitzungen erneut. Nach wenigen Sekunden sollte die LXDE-Systemumgebung erscheinen. In dieser können Sie dasselbe tun wie auf einem normalen Desktop. Sie könnte einfach etwas kleiner sein und etwas langsamer laufen: Um eine Taste auf dem Gerät zu drücken, müssen Sie länger warten, als wenn Sie dies mit Tastatur und Maus tun würden. Schauen wir uns an, wie wir die Linux-Systemumgebung auf dem Smartphone konkret verbessern können.

Kurzanleitung zu UserLAnd

Bei genauerer Betrachtung des Desktop-Inhalts kann man eine exakte Nachbildung der Desktop-Version entdecken. Wenn Sie UserLAnd auf einem Gerät mit Tastatur und Maus (über Bluetooth oder auf andere Weise verbunden) verwenden, wird es Ihnen leicht fallen, sich an die Nutzung der Linux-Systemumgebung in diesem Format zu gewöhnen. Abgesehen von einer kleinen Verzögerung, die entsteht, weil der X-Windows-Cursor mit dem Cursor des Geräts auf Android synchronisiert wird, läuft alles reibungslos.

Möglicherweise möchten Sie als Erstes das standardmäßig installierte Schriftartsystem anpassen, da die Schriftgröße des Desktops für den Bildschirm des Handys zu groß ist. Gehen Sie zum Hauptmenü, wählen Sie dann „Einstellungen“ → „Aussehen und Widgets anpassen“ → „Widget“. Hier können Sie die Standard-Schriftgröße auf eine passendere Variante für Ihr Handy ändern.

Vielleicht möchten Sie als Nächstes Ihre Lieblingsanwendungen in die Linux-Systemumgebung installieren. Wie bereits erwähnt, werden in diesem Fall die Dienstbefehle nicht funktionieren, also verwenden Sie ruhig das wirklich unverzichtbare Tool, das in der UserLAnd-Systemumgebung installiert ist, mit dem Namen ASAP:

sudo apt install emacs

Wir richten den Linux-Desktop auf Android ein

Distributionen in der Anwendung werden in Form von Sitzungen dargestellt. Sie können sie starten und schließen.

Wir richten den Linux-Desktop auf Android ein

Nach der Installation der Distribution können Sie die Desktop-Umgebung mit den Standardbefehlen hinzufügen.

Wahrscheinlich benötigen Sie auch alternative Methoden zur Verbindung für Ihre Distribution. Nur weil Sie XSDL ursprünglich installiert haben, bedeutet das nicht, dass es immer gleich bleiben muss. Sie können ein weiteres Konto im Tab Session erstellen und einen anderen Server auswählen. Stellen Sie nur sicher, dass Sie ihn im selben Dateisystem angegeben haben. UserLAnd wird versuchen, Sie zum richtigen Programm zu leiten, um einen neuen Verbindungstyp einzurichten: entweder XSDL, ConnectBot für SSH oder bVNC.

Die Hartnäckigkeit, mit der die App Sie automatisch in den Play Store umleitet, wenn Sie versuchen, sich erneut zu verbinden, kann störend sein. Um dies zu stoppen, reicht es aus, den Server durch die Installation einer speziellen App zu wechseln. Für die SSH-Verbindung wählen Sie den bewährten VX ConnectBot. Melden Sie sich einfach am Port 2022 auf der Workstation mit Ihrem Namen und Passwort an. Um sich mit dem VNC-Server zu verbinden, genügt es, die kommerzielle, aber in vielerlei Hinsicht fortschrittliche App Jump Desktop zu installieren und die Adresse 127.0.0.1:5951 einzugeben.

Wir hoffen, Sie erinnern sich an das VNC-Passwort, das Sie bei der Erstellung des Dateisystems festgelegt haben.
Der Zugriff auf die aktuelle UserLAnd-Sitzung ist auch mit ähnlichen Tools auf einem anderen Computer in Ihrem Netzwerk möglich. Sie müssen lediglich per SSH eine Verbindung zu einer aktiven Sitzung herstellen (mit dem Verbindungstyp SSH, natürlich) über ein Linux-Terminal wie Konsole oder sich mit der VNC-Sitzung über KRDC verbinden. Ersetzen Sie einfach die lokalen Adressen auf dem Computerbildschirm durch die IP-Adressen Ihres Android-Geräts.

In Kombination mit ein paar tragbaren Anwendungen bietet diese Einrichtung ein praktisches tragbares Linux-System, auf das Sie von jedem Computer zugreifen können, der Ihnen derzeit zur Verfügung steht.

Quelle: habr.com

60GB SSD 8Gb DDR4