Mobilrechner-Mätzchen

Ich verwende ja gerne einmal den Terminal bzw die Konsole unter Linux. Also das wo man ganz im Sinne der 1980er auf schwarzem Hintergrund das eigene Obskurantenwissen zur Schau stellen kann. Android ist letztlich auch nur eine Art Qualzucht unter den Linuxen und hat daher auch einen Terminal, sobald man eine App namens Termux installiert. Damit hat man meiner Meinung nach das beste Command-Line-Erlebnis unter den Mobilgeräten (Handy und Tablet).

Was soll man damit tun?

Im ersten Moment fragt man sich womöglich, was das jetzt überhaupt bringen soll, aber, frei nach einem löchrigen – pardon, zu kurz präsidierenden – Präsidenten: “Frag’ nicht was dein Terminal für dich tun kann, sondern frag’ was du für dein Command-Line-Interface machen kannst”.

Und so soll es sein. Durch diese Einstellung kommen einem die Einsatzgebiete wie von alleine angeflogen: via Tailscale mit SSH in eigene Container/VMs/Raspis einloggen und sie mittels spukhafter Fernwartung zum Tanzen, oder Fotos von Vögeln machen, bringen. Oder Sprachmodelle, die sog. Large Language Models (LLMs), bzw. die Spracherkennung Whisper auf dem Smartphone (!) lokal laufen zu lassen, mithilfe von Llamafile und Whisperfile. Oder die lustige JavaScript Laufzeitumgebung node.js, um damit Quartz für das Umwandeln von Markdown-Notizen in statischen HTML-Code zu betreiben.

Installation von Termux

Die geht ganz einfach, man sucht nach dem Programm im Appstore seines Vertrauens. Ich würde F-Droid den Open-Source-Appstore empfehlen. Geht aber auch mit Google Playstore. Dort bietet der gute Frederik Fornwall aber gewisse Addons für ein paar Euro feil. Bei F-Droid kosten die nichts, auch wenn ich empfehle für dieses Projekt zu spenden!

”Man bringe den Quartzstein!”

Sobald Termux läuft, können wir gleich einmal schauen, ob wir das node-G’raffel zum Laufen bringen können.

Zuerst Packerl installieren mit pkg install nodejs:

Dann git clone https://github.com/jackyzha0/quartz.git, falls git noch nicht installiert ist, vorher noch mit pkg install git draufspielen:

Und schon wird die Repo auf das Handy geklont. Anschließend in den Ordner wechseln mit cd quartz und npm i ausführen (mit dem Befehl wird die Projektinstallation angestoßen):

Dann versuchen Quartz zu erstellen mit npx quartz create:

An dieser Stelle habe ich diese “Deprication Warning” bekommen, die Software läuft jedoch dennoch weiter:

Installation komplett, alles gut?

Ich habe dann manuell meine Notizen für die Website in den content Ordner kopiert und sogleich versucht daraus statische HTML-Seiten zu machen:

Oje, haufenweise Fehler. Möglicherweise muss man das sog. lightningcss Modul nachinstallieren?

Der Installationsbefehl npm install --save-dev lightningcss von der offiziellen Website beschwert sich zwar über zwei Sicherheitslücken, installiert jedoch anstandslos:

Auf zweitem Blick zeigt die erste Zeile, dass wohl eh lightningcss drauf installiert war, und jetzt durch den Entwicklerzweig ersetzt worden ist. quartz funktioniert eh nach wie vor nicht. Naja, jetzt wissen wir zumindest, dass es sich um ein anderes Problem handelt.

Eine kurze Recherche war leider wenig erhellend, außer, dass npm komisch ist, deren Repo-Seite unübersichtlich ist (so kommt man über das vermaledeite lightningcss Hauptpaket nicht zu den entsprechenden anderen Versionen wie arm64, außerdem, wenn man nach lightningcss sucht und dann noch “arm” hinzufügt, dann wird nicht “arm64” gefunden, entweder ich kapier da was nicht, oder die sind Spaßvögel). Ich habe aber nirgends dieses vermeintliche lightningcss.android-arm64 gefunden. Das scheint sich Termux einfach so ausgedacht zu haben:

Versuchen wir es halt mit the next best thing npm install lightningcss-linux-arm64-gnu:

Ok, lassen wir es vorerst sein. Eventuell gibt’s noch ein Update. Auf jeden Fall wird es noch einen Beitrag zu den anderen Späßchen, die man mit dem Handy so machen kann. Grundsätzlich ist es aber schon sehr witzig, dass man sein Mobilgerät für solche Sachen verwenden kann. Auch wenn es hier mit dem Installieren nicht ganz funktioniert hat. Aber als Server-Admin-Gerät habe ich Termux schon länger im Einsatz.