>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Shell

So verwandeln Sie ein altes Android-Smartphone in einen Taschen-Linux-Server oder Desktop ohne Root-Zugriff

Fast jeder hat ein altes Smartphone in einer Schublade liegen. Der Bildschirm ist intakt, der Akku hält noch ein paar Stunden, und der Prozessor hat acht Kerne – aber es wegzuschmeißen fühlt sich verschwenderisch an. Das typische Schicksal solcher Geräte ist es, jahrelang ungenutzt zu liegen, bis der Akku schließlich aufgeht.

Viele haben versucht, Linux-Distributionen über VNC auf Android zu installieren, aber meistens endet diese Erfahrung in Enttäuschung: wilde Interface-Lags, keine echte 3D-Beschleunigung und endlose Probleme mit Root-Rechten. Kürzlich bin ich auf das linux-android-Repository des Entwicklers mayukh4 gestoßen. Das Projekt löst dieses Problem elegant. Mit ein paar Skripten basierend auf Termux und Termux-X11 verwandelt sich das Smartphone in eine vollwertige Workstation mit grafikalischem Desktop oder einen rund um die Uhr laufenden Smart-Home-Hub. Kein Root erforderlich.

mayukh_builds (3)

Zwei Szenarien in einem Repository

Der Autor hat das Projekt in zwei unabhängige Nutzungszweige aufgeteilt, die bei Bedarf gleichzeitig auf demselben Gerät ausgeführt werden können.

Der erste Pfad ist ein vollständiger grafischer Desktop. Das Skript stellt eine Umgebung Ihrer Wahl bereit (XFCE4, LXQt, MATE oder KDE Plasma), leitet Audio über PulseAudio weiter und konfiguriert Hardware-Grafikbeschleunigung. Out of the box erhalten Sie Firefox-Browser, VLC-Player, Python 3 mit pip-Paketmanager, OpenSSH und sogar Wine zum Ausführen von x86-Windows-Programmen durch Box64- und Hangover-Emulation.

Der zweite Pfad ist ein Home-Automation-Server. Das Skript startet einen leichtgewichtigen Ubuntu-Container über proot-distro und kompiliert Home Assistant Core darin. Das Ergebnis ist ein lokaler Smart-Home-Server, der WLAN-Lampen und Steckdosen steuert und dabei nur wenige Watt vom Handyladegerät verbraucht.

Wie der Grafik-Stack und die 3D-Beschleunigung funktionieren

Das Hauptproblem bei alten Anleitungen zum Ausführen von Linux auf Handys war die Verwendung langsamer VNC-Clients. Hier wird das Bild direkt über Termux-X11 ausgegeben. Dies ist eine separate Anwendung, die als schnelles X11-Display für die Termux-Umgebung dient.

Der Autor hat die Grafik richtig umgesetzt. Das Skript erkennt automatisch das GPU-Modell über Android-Systemeigenschaften und ignoriert die Smartphone-Marke (da Samsung-Linien sowohl Snapdragon- als auch Exynos-Chips haben können).

Wenn das Gerät einen Qualcomm-Snapdragon-Chip mit Adreno-Grafik hat, lädt das System den Open-Source-Turnip-Vulkan-Treiber in Kombination mit Zink (OpenGL-Übersetzung über Vulkan). Dies liefert nahezu native 3D-Leistung und ein flüssiges Interface. Wenn das Smartphone mit einem Prozessor mit Mali- oder PowerVR-Grafik läuft, wechselt die Umgebung zum SwRast-Software-Renderer. Für Mali empfiehlt der Autor vernünftigerweise, leichte Shells wie LXQt oder XFCE zu wählen, da schweres KDE Plasma auf einem Software-Renderer spürbar ruckeln wird.

Alle Grafikparameter werden in der Konfigurationsdatei ~/.config/linux-gpu.sh gespeichert. Bei Bedarf können Sie diese manuell bearbeiten und Mesa-Flags anpassen – zum Beispiel eine bestimmte OpenGL-Version erzwingen oder den Debug-Modus aktivieren.

Fernarbeit über SSH

Auf einen fünf Zoll großen Smartphone-Bildschirm zu starren, wenn man mit einem Terminal oder Code arbeitet, ist nicht immer bequem. Der Entwickler hat dies antizipiert und einen OpenSSH-Server in das Basispaket aufgenommen.

Da Termux keine Root-Rechte hat, lauscht der SSH-Server auf dem nicht-Standard-Port 8022. Sie können mit einem einzigen Befehl vom Laptop oder PC im lokalen Netzwerk eine Verbindung zum Smartphone herstellen:

ssh u0_a123@192.168.1.42 -p 8022

Der Termux-Benutzername folgt typischerweise dem Muster u0_a123 (Sie können ihn mit dem Befehl whoami finden). Dateien können bequem über standardmäßiges scp oder jeden vertrauten SFTP-Client übertragen werden. Fügen Sie einfach den Host zu ~/.ssh/config auf Ihrem Hauptcomputer hinzu, konfigurieren Sie die schlüsselbasierte Anmeldung, und das Smartphone wird zu einer stillen Remote-Sandbox zum Testen und für Code-Builds.

Feinheiten mit Home Assistant

Ein Smartphone in einen Smart-Home-Server zu verwandeln, sieht verlockend aus, aber es ist wichtig, die technischen Einschränkungen von Android zu verstehen, vor denen der Autor in der Dokumentation ehrlich warnt.

Da Home Assistant Core in einem proot-Container ohne Superuser-Rechte läuft:

  1. mDNS und automatische Geräteerkennung im lokalen Netzwerk funktionieren nicht. Ab Android 10 blockiert das System den Zugriff auf /proc/net/dev, sodass intelligente Steckdosen und Glühbirnen (zum Beispiel TP-Link Kasa) manuell über ihre IP-Adressen hinzugefügt werden müssen.
  2. Kein Zugriff auf den Bluetooth-Stack des Telefons.
  3. Sie können keinen externen USB-Zigbee- oder Z-Wave-Stick ohne einen benutzerdefinierten Kernel und Root-Zugriff anschließen.
  4. Dies ist speziell Home Assistant Core, nicht das vollständige Home Assistant OS. Add-ons aus dem Community-Add-on-Katalog, die Docker benötigen, können hier nicht gestartet werden, aber integrierte Integrationen funktionieren einwandfrei.

Für Cloud-Integrationen wie Tuya oder Smart Life gibt es keine solchen Einschränkungen – sie verbinden sich über die Entwickler-API und werden ohne Probleme verwaltet.

Installation und Start

Für die Installation benötigen Sie Termux selbst (besorgen Sie sich strikt den Build von F-Droid, da die Google-Play-Version schon lange aufgegeben wurde) und Termux-X11 aus dem GitHub-Repository.

Bevor Sie das Hauptskript ausführen, müssen Sie die Paketdatenbank aktualisieren und verhindern, dass die CPU in den Schlafmodus geht:

termux-wake-lock
pkg upgrade -y

Der Befehl termux-wake-lock verhindert, dass das Betriebssystem den Build-Prozess beendet, wenn der Bildschirm dunkel wird. Danach können Sie das Desktop-Skript klonen und ausführen:

curl -O https://raw.githubusercontent.com/mayukh4/linux-android/main/termux-linux-setup.sh
chmod +x termux-linux-setup.sh
bash termux-linux-setup.sh

Während des Vorgangs fragt das Skript, welche grafische Shell installiert werden soll und ob Sie die Wine-Kompatibilitätsschicht benötigen. Die Installation dauert 10 bis 30 Minuten.

Eine interessante Implementierungsdetail: Das Skript hat eine benutzerdefinierte safe_install_pkg-Funktion. Es analysiert Paketmetadaten über apt-cache und prüft den Conflicts-Block im Voraus. Wenn das System bereits ein in Konflikt stehendes Paket hat (zum Beispiel unterschiedliche Builds von Vulkan-Loadern), überspringt das Skript die problematische Komponente sorgfältig, anstatt mit einem Fehler abzustürzen.

Der Desktop wird mit dem Befehl gestartet:

bash ~/start-linux.sh

Danach öffnen Sie einfach die Termux-X11-App, wo der Desktop erscheint.

Wenn Ihr Ziel die Einrichtung von Home Assistant ist, führen Sie das separate Skript setup-homeassistant.sh aus. Es erstellt eine Ubuntu-Umgebung, installiert Python-Abhängigkeiten und baut die erforderlichen Module. Die Weboberfläche des Servers öffnet sich nach dem Start in jedem Browser im lokalen Netzwerk unter der Adresse http://<ip-телефона>:8123.

Wem dieses Projekt nützen wird

Mayukh4s Skripte eliminieren die Notwendigkeit, eine funktionierende Umgebung aus verstreuten Forenanleitungen zusammenzubauen. Alle gängigen Fallstricke, einschließlich Abhängigkeitskonflikte und Prozesse, die vom Android-Hintergrundmanager getötet werden, sind hier bereits behandelt.

Das Projekt ist perfekt für diejenigen, die:

  • mit Linux und der Kommandozeile experimentieren möchten, ohne einen Raspberry Pi zu kaufen oder virtuelle Maschinen einzurichten;
  • einen Taschenserver für Hintergrund-Python-Aufgaben und Experimente benötigen;
  • eine kostengünstige Home-Automation-Hub auf alter Hardware betreiben möchten;
  • eine kompakte mobile Workstation aufbauen möchten, indem sie eine Bluetooth-Tastatur und -Maus an das Smartphone anschließen.

Wenn Sie ein ungenutztes Smartphone mit 64-Bit-Prozessor und 3-4 GB RAM haben, gibt dieses Repository ihm eine ausgezeichnete Chance auf ein zweites Leben.

Ähnliche Projekte