Termux – für Android entwickelbarer Terminal-Emulator mit vielen Paketen
(github.com/termux)- Eine Open-Source-App, die auf Android eine Linux-Umgebung und Terminal-Funktionen bereitstellt und sich durch die Installation verschiedener Pakete erweitern lässt
- Ergänzt den Funktionsumfang durch mehrere Plugin-Apps wie Termux:API, Boot, Float, Styling, Tasker, Widget
- Die Installation ist über F-Droid, GitHub, Google Play (experimentell) usw. möglich; da die Signaturschlüssel je nach Quelle unterschiedlich sind, können sie nicht gemischt werden
- Unter Android 12 und neuer kann es durch prozessbedingte Beschränkungen zu Instabilitäten kommen; dazu werden relevante Issues und Lösungslinks bereitgestellt
- Für Entwickler und Maintainer sind Shared Libraries (
termux-shared), Regeln für Commit-Messages und Fork-Richtlinien klar dokumentiert
Überblick über Termux
- Termux ist eine Terminal-Emulator-App, die auf Android eine Linux-Umgebung bereitstellt
- Die App selbst enthält die Benutzeroberfläche und die Terminal-Emulationsfunktionen
- Installierbare Pakete werden im separaten Repository termux/termux-packages verwaltet
- Unter Android 12 und neuer können ein Limit von 32 Prozessen sowie das Beenden von Prozessen bei zu hoher CPU-Nutzung auftreten
- Verwandte Issues und Lösungsansätze sind in GitHub-Issue #2366 sowie über Android-Dokumentationslinks beschrieben
Termux-App und Plugins
- Zusätzlich zur Basis-App werden folgende Plugin-Apps unterstützt
- Termux:API, Termux:Boot, Termux:Float, Termux:Styling, Termux:Tasker, Termux:Widget
- Alle Plugins verwenden dieselbe sharedUserId(com.termux), daher können nur APKs gemeinsam installiert werden, die mit demselben Signaturschlüssel signiert sind
Installationsmethoden
- Die neueste Version ist v0.118.3, mit vollständiger Unterstützung ab Android 7
- Die Unterstützung für Android 5 und 6 endete 2020, wurde aber 2022 für die App allein über die GitHub-Quellen wieder aufgenommen
- Wenn Quellen mit unterschiedlichen Signaturschlüsseln (F-Droid, GitHub usw.) gemischt installiert werden, treten Fehler auf
- Für eine Installation aus einer anderen Quelle müssen alle vorhandenen Termux- und Plugin-APKs zuerst entfernt und anschließend neu installiert werden
F-Droid
- APKs können direkt von F-Droid heruntergeladen werden; nach der Installation müssen Updates manuell geprüft werden
- F-Droid-Builds werden nicht von den Termux-Entwicklern, sondern von F-Droid verwaltet und verwenden einen anderen Signaturschlüssel
- Es werden keine architekturspezifischen APKs angeboten, sondern nur eine einzelne universelle APK (~180 MB)
GitHub
- APKs werden über GitHub Releases oder Build Actions bereitgestellt
- Für Android 7 und neuer wird
apt-android-7, für Android 5 und 6apt-android-5verwendet
- Für Android 7 und neuer wird
- GitHub-Build-APKs sind mit einem Testschlüssel (
testkey_untrusted.jks) signiert, und jeder kann mit demselben Schlüssel Builds erstellen- Da das Risiko der Verbreitung manipulierter Versionen besteht, wird von der Installation von APKs aus anderen Quellen als dem offiziellen GitHub-Repository abgeraten
- Die universelle APK ist etwa 180 MB groß, architekturspezifische APKs etwa 120 MB
Google Play (experimentell)
- Im Google Play Store gibt es eine an Richtlinien angepasste Version für Android 11 und neuer, die jedoch Funktionslücken und Bugs aufweist
- Die Play-Version wird in einem separaten Repository (termux-play-store) entwickelt
- Mit der F-Droid-Version ist sie wegen der entfernten
sharedUserIdnicht kompatibel; das Deaktivieren automatischer Updates wird empfohlen
Deinstallation und Backup
- Beim Wechsel zu einer anderen Installationsquelle oder beim Entfernen der App müssen alle Termux- und Plugin-APKs vollständig deinstalliert werden
- Vor der Deinstallation können Daten mithilfe der Anleitung Backing up Termux gesichert werden
Community und Dokumentation
- Wichtige Community-Kanäle: Reddit (r/termux), Matrix/Gitter-Kanäle, Twitter (@termuxdevs), Support-E-Mail (support@termux.dev)
- Offizielle Dokumentation:
- Weitere Materialien: FAQ, Dateisystemstruktur, Fernzugriff, Zugriff auf Android-Speicher, Terminal-Konfiguration usw.
5 Kommentare
Ich gehöre gerade zu der Generation, die im Militär überhaupt erst anfangen durfte, Smartphones zu benutzen.
Ich habe Termux installiert, damit Webentwicklung geübt und sogar einen Interpreter geschrieben,
außerdem habe ich ein Rust-Buch mitgenommen und gelernt.
Nach langer Zeit mal wieder weg von der GUI zu sein
und mich ganz auf eine Textumgebung zu konzentrieren, hat Spaß gemacht.
Auch
vimhabe ich erst mit Termux gelernt.Wie in den Kommentaren auf Hacker News
installiere ich auch heute noch, wenn ich ein neues Android-Gerät bekomme,
immer zuerst Termux.
Ich persönlich finde es äußerst praktisch, wenn ich unterwegs kurz per SSH auf einen Server zugreifen muss, um Code zu überwachen.
Ich nutze ein Pixel-Smartphone, und in der neuesten Android-Version ist es jetzt offiziell möglich, über die Entwickleroptionen einen Linux-Container zu installieren (ob das auch auf anderen Smartphones geht, weiß ich nicht. Wahrscheinlich schon, oder?).
Bisher hatte ich Termux zwar installiert, eher als gelegentlich hervorgeholtes Spielzeug oder, wenn man unbedingt etwas nennen will, für Dinge wie Ping-Tests, aber inzwischen habe ich das Gefühl, dass ich selbst für solche Zwecke keine Verwendung mehr dafür habe.
Es war eine interessante App, deshalb finde ich es irgendwie ein bisschen schade, mich davon zu verabschieden.
CopyParty hatte ich auf YouTube in meiner „Später ansehen“-Liste verstauben lassen, aber als ich die Kommentare zu den HN-Meinungen gelesen habe, habe ich gesehen, dass es vom selben Autor war o.o
Hacker-News-Kommentare
Eine meiner Lieblingssoftwares ist Copyparty, geschrieben von der Person, die auch Termux auf dem Handy installiert hat.
Der GitHub-Link ist hier, und es gibt auch ein passendes YouTube-Video.
Jedes Mal, wenn ich ein neues Android-Gerät in die Hände bekomme, installiere ich als Erstes Termux.
Ich verbinde ein Bluetooth-Tastatur-Case und programmiere vom Sofa aus per Neovim remote, verwalte meine Notizen mit vimwiki und synchronisiere sie mit GitHub.
Die meisten CLI-Tools sind im Termux-Repository vorhanden, und wenn nicht, baue ich sie selbst mit clang, cmake usw.
Dank Termux nutze ich Android immer noch als Hauptgerät.
Mein Anwendungsfall für Termux ist die Automatisierung von Foto-Backups.
Ich sichere Fotos auf ein NAS, aber weil manche fehlen, lasse ich auf dem NAS MD5-Prüfsummen berechnen und führe in Termux ein Skript aus, das dieselben Dateien auf dem Handy löscht.
So kann ich zuverlässig Dutzende GB an Speicherplatz freimachen.
Das relevante Nextcloud-Issue ist hier.
find-Befehl.Mit dem Wachstum KI-basierter Entwicklung werden wohl mehr Menschen Tools wie Termux, tmux nutzen.
Tippen auf dem Handy ist mühsam, aber dank Tastaturen wie Unexpected Keyboard(Link) und dem vim-Modus ist es ziemlich brauchbar.
Ich nutze Termux, um SSH nur bei Bedarf zu starten.
Wenn ich Termux öffne, startet SSH, und wenn ich es schließe, wird es beendet. Das reicht völlig, um Dateien mit rsync zu synchronisieren.
Es muss nicht ständig laufen, daher nutze ich keine Apps wie LocalSend oder SyncThing. Ich führe einfach auf dem Desktop ein simples Sync-Skript mit der gewünschten Richtung aus.
Heutzutage gibt es kaum noch Android-Handys mit Hardware-Tastatur, daher nutze ich solche Apps fast gar nicht mehr.
Früher, zu Motorola-Droid-Zeiten, habe ich mit Termux und ConnectBot eine sehr produktive Umgebung aufgebaut.
Heute ist das Potenzial geringer, und auch die Hardware-Vielfalt oder Offenheit der Bootloader ist nicht mehr wie früher. Termux weckt bei mir Nostalgie für diese Zeit.
In Termux kann man seine Umgebung mit tmux, fish, git, yazi einfach so weiterverwenden.
Man kann sogar Rust-Apps bauen, und es ist erstaunlich, dass TUI-Apps auf Touch-Eingaben reagieren.
Ich frage mich, ob es auf iOS ein Terminal auf diesem Niveau gibt.
Ich habe gehört, dass Android inzwischen eine vollständige Linux-Umgebung bekommt. Braucht man Termux dann überhaupt noch?
Viele entsprechende Diskussionen sieht man auf r/androidterminal.
Das neue Linux-Terminal läuft dagegen in einer separaten VM und verbraucht deshalb mehr Speicherplatz.
Termux ist für mich der beste Android-Terminal-Emulator.
Ich organisiere Notizen mit fzf, Neovim und Git und greife per SSH auf entfernte Systeme zu.
Wenn ich CLIs oder TUIs in Go schreibe und mit dem NDK kompiliere, kann ich sie direkt in Termux ausführen.
Ganz ehrlich: Ich frage mich, wie man auf so einem kleinen Touchscreen überhaupt eine Terminal-Umgebung sinnvoll nutzt.
:help-Dokumentation gelesen und geübt. Inzwischen bin ich völlig daran gewöhnt.