3 Punkte von GN⁺ 2024-01-28 | 1 Kommentare | Auf WhatsApp teilen
  • Sxmo ist eine minimale Umgebung für Linux-Telefone und andere mobile Geräte, die einfache Programme und Shell-Skripte kombiniert, um eine UI im Sinne der Unix-Philosophie zu schaffen
  • Es verwendet eine menübasierte Oberfläche zusammen mit einem Tiling-Window-Manager und unterstützt sowohl Wayland als auch das ältere Xorg auf Konfigurationen wie sway
  • Es bietet Bedienung per Touch, Gesten und Hardware-Tasten und ergänzt die Nutzbarkeit auf kleinen Bildschirmen durch Kontextmenüs, die sich je nach aktiver CLI- oder GUI-App ändern
  • Es umfasst mobile Funktionen wie Modem, Anrufe, SMS, das Lesen von Benachrichtigungen sowie Leichtgewichtigkeit für batteriebetriebene Geräte; zudem ist Menüzugriff und SMS-Versand per SSH möglich
  • Benutzer-Skripte lassen sich mit Anrufen, SMS, Gesten und physischen Tasten verknüpfen, was eher einer Linux-typischen, selbst anpassbaren Nutzung entspricht als einem abgeschotteten App-Ökosystem

Die mobile Linux-Umgebung, auf die Sxmo abzielt

  • Sxmo ist eine minimale Umgebung für mobile Linux-Geräte und wirbt mit „minimal, mobile, hackable“
  • Auch ältere Android-Smartphones oder Tablets können mit etwas Konfiguration betrieben werden; als Beispielgeräte werden OnePlus 6 und Poco F1 genannt
  • Informationen zur Geräteunterstützung finden sich im device profile, Einsteiger können den getting started guide nutzen

Bedienung und Anpassbarkeit

  • Die UI kombiniert eine einfache menübasierte Oberfläche mit einem Tiling-Window-Manager
    • Als Beispiel kann sway verwendet werden
    • Die Werkzeuge sollen miteinander kombinierbar und leicht austauschbar sein
    • Sowohl Wayland als auch das ältere Xorg werden unterstützt
  • Die mobile Eingabe ist auf kleine Bildschirme und die Nutzung physischer Tasten ausgelegt
    • Touch und Gesten werden unterstützt
    • Menüs können über Hardware-Tasten gesteuert werden
    • Je nachdem, ob die aktive Anwendung eine CLI- oder GUI-App ist, ändern sich die gemeinschaftsbasierten Kontextmenüs
  • Die mobilen Linux-Funktionen umfassen Modem, Anrufe, SMS und Benachrichtigungen
    • Benachrichtigungen und SMS können gelesen werden
    • Enthalten sind Optimierungen für batteriebetriebene Geräte und kleine Bildschirme
    • SSH wird als zentrale Nutzungsweise unterstützt; über SSH ist Zugriff auf alle Menüs möglich
    • Mit Texteditoren wie vis, emacs und vim können per SSH SMS versendet werden
  • Für hohe Anpassbarkeit lassen sich viele Abläufe per Shell-Skript verknüpfen
    • Bei Anruf- oder SMS-Ereignissen können benutzerdefinierte Skripte ausgeführt werden
    • Mit lisgd lassen sich Skripte an Gesten binden
    • Skripte können mit einfachem, doppeltem und dreifachem Klick auf physische Gerätetasten verknüpft werden
    • Modem-Logs, Kontaktlisten und SMS-Texte werden als Klartext gespeichert
  • Das App-Ökosystem ist nicht abgeschottet, und FOSS-Apps vom Desktop können auch mobil verwendet werden
    • Es läuft auf mobil optimierten Linux-Distributionen wie Alpine Linux und postmarketOS
    • Terminalbasierte Anwendungen lassen sich auf dem Smartphone verwenden

1 Kommentare

 
GN⁺ 2024-01-28
Hacker-News-Kommentare
  • Von den Interfaces, die ich auf dem PinePhone ausprobiert habe, war sxmo mit Abstand das beste.
    Ich nutze normalerweise nicht besonders viel aus dem suckless-Umfeld; ich respektiere solche Software zwar, fühle mich aber eher zu funktionsreicheren Dingen wie Emacs oder KDE hingezogen. Trotzdem ist sxmo deutlich flotter als KDE oder Phosh, und wenn man erst einmal die Hürde der Auffindbarkeit überwunden hat, ist es ziemlich funktional und intuitiv. Ich meine, megi hatte auch einen brauchbaren Spickzettel dafür erstellt.

    • Ich nutze Plasma Mobile auf dem Librem 5, und es ist ziemlich flott.
      Allerdings hat KDE beschlossen, die Kern-Apps mit einem mobilfreundlichen Framework neu zu bauen, deshalb bin ich mir nicht sicher, wie realistisch das als App-Plattform ist. Im Moment gibt es dort nicht viel, worin man sich vertiefen könnte, und das dürfte wohl noch einige Jahre so bleiben. Nach der Empfehlung werde ich sxmo wohl auch einmal ausprobieren.
    • Ich habe mein PinePhone etwa sechs Monate lang nicht benutzt, und auch davor lag es eine Weile ungenutzt herum, weil aus unbekannten Gründen keine Gesprächsaudio funktionierte, aber zusammengerechnet habe ich es etwa anderthalb Jahre als mein Haupttelefon verwendet.
      Ich habe auch andere Desktop-Umgebungen ausprobiert, bin aber am Ende bei sxmo/swmo gelandet, weil mir die Philosophie gefiel, die Bausteine selbst zusammenzustellen und zu kontrollieren, und weil es ein großer Pluspunkt war, das Telefon per SSH vom Laptop aus bedienen zu können. Ich war bereits an Sway gewöhnt, und zu dem Zeitpunkt hatten Phosh und KDE ziemlich gravierende Probleme.
      Allerdings war sxmo immer massiv verbuggt. Es gibt sehr viele Race Conditions, durch die Dinge bis zum Neustart kaputtgehen, und zum Entsperren muss man je nach Schlafzustand und vorheriger Aktion die Power-Taste einmal, zweimal, dreimal oder lang drücken und dann noch einmal drücken; das Verhalten ist jedes Mal anders. Auch Status- oder Moduswechsel werden erst nach fast einer Sekunde auf dem Bildschirm sichtbar, was überraschend belastend ist.
      Wenn irgendein Mutex-Zustand durcheinandergerät, wachsen immer neue Prozesse nach, die das LED-Blinken steuern wollen, und irgendwann funktioniert nicht einmal mehr langes Drücken der Power-Taste, sodass man den Akku herausnehmen muss.
      Wenn Leute sagen, Rust sei besser als C, weil durch Speichersicherheit und bessere Datenmodelle bestimmte Bug-Kategorien verschwinden, dann ist sxmo ein Beispiel dafür, dass ein großer Teil in Shell-Skripten umgesetzt ist und aus Sicht des großflächigen Designs weit schlechter dasteht als C. Es gibt weniger geeignete Grundbausteine, und diese Grenzen treten unverblümt zutage.
      Das Gesamtsystem wirkt eher wie ein zusammengewürfelter Haufen von Teilen, die so tun, als gäbe es einander nicht; würden sie kooperieren, käme vermutlich ein viel stabileres Ergebnis heraus. Manches sieht oberflächlich in Ordnung aus, ist aber nicht wirklich korrekt umgesetzt, und an einigen Stellen ist schon das Design selbst unnötig kompliziert und falsch angelegt.
      Ich glaube nicht, dass sich in den letzten sechs Monaten grundlegend viel geändert hat, deshalb würde ich sxmo-Nutzer gern herausfordern: Findet heraus, wie man die Uhranzeige in der Systemleiste ändert und wie man sie so aktualisiert, dass sie zur exakten Zeit umspringt statt mit bis zu 55 Sekunden Verzögerung. Dabei durchläuft man mehrere verschiedene Systeme, etwa einen 55-Sekunden-Timer, der einen Cache-Wert setzt, und die Statusleiste, die diesen Wert ausliest, und man wird mindestens an drei Stellen auf der Platte herumsuchen. Man braucht dafür ein Tool wie ripgrep, und am Ende fragt man sich, warum man nicht einfach date +'%H:%M' in den Befehl der Statusleiste geschrieben und dann zu date +'%-I:%M %P' geändert hat.
      Auch funktional gibt es Dinge, die unter Android einfach funktionieren, hier aber gar nicht, oder die unter Phosh gehen, aber nicht flüssig arbeiten. Dafür lässt sich vieles sehr viel besser skripten, sobald man einmal herausgefunden hat, wie man es zum Laufen bringt. Ich habe meinen persönlichen Workflow bequemer als auf jedem anderen Betriebssystem gemacht, aber dafür auch sehr viele Skripte geschrieben.
      Manche Probleme wurden im Laufe der Zeit behoben, andere kamen neu dazu, aber die tatsächliche Gesamtqualität ist weiterhin eher niedrig. Trotzdem nutze ich es weiter, also bin ich vielleicht einfach Masochist.
      Kurz gesagt fällt mir tatsächlich niemand ein, dem ich sxmo/swmo empfehlen würde. Wenn es aber einen Typ Mensch gibt, dem man es empfehlen könnte, dann wahrscheinlich jemand, der auf dem Desktop ohnehin schon einen Tiling-Window-Manager nutzt und sich für das Telefon selbst nicht besonders interessiert.
  • Auf der Homepage würde ein 1- bis 2-minütiges Demo-Video anstelle eines 45-Minuten-Vortrags das Konzept wahrscheinlich viel klarer vermitteln.

  • Gefällt mir. Dass alles über Shell-Skripte verbunden ist, ist sicher Geschmackssache, aber ich mag, dass man die UI des Telefons schnell auseinandernehmen und umbauen kann.
    Ich habe während des Pendelns direkt auf dem PinePhone selbst ein Wecker-Skript geschrieben; ich sollte es veröffentlichen. Es weckt das Gerät kurz vor dem Alarm aus dem Tiefschlaf und lässt dann den Alarm losgehen.
    Solche Dinge wie ein Wecker, der RTC-Wakeups setzt, fehlen zwar noch oft, aber insgesamt ist es ein cooles System, und ich denke, ich werde es in naher Zukunft wieder benutzen und daran herumhacken.

  • Wenn du zu FOSDEM gehst und dich für Linux auf dem Telefon interessierst, lohnt es sich, den Zeitplan des Developer Room [0] und die dazugehörigen Stände [1] anzuschauen.
    [0]: https://fosdem.org/2024/schedule/track/foss-on-mobile-device...
    [1]: https://fosdem.org/2024/stands/

  • Der Aussage „Die auf Android-Geräten laufenden Kernel sind so stark modifiziert, dass die Community sie nicht warten kann“ kann ich nur schwer zustimmen.
    Android läuft auch auf dem Mainline-Linux-Kernel. Wenn die Community den Mainline-Kernel bereits warten kann, dann sollte eine Patch-Serie mit 210 Patches im Android Common Kernel kein untragbares Ausmaß haben. Deswegen den gesamten Wert von Android aufzugeben, wäre, als würde man das ganze Haus abfackeln, um eine Wanze loszuwerden.
    Android unterstützt Mehrfensterbetrieb, deshalb erscheint es auch plausibel, dass jemand einen Tiling-Window-Manager für Android umsetzt.

  • Ich frage mich, ob man das auf einem normalen Intel-/AMD-Server ausführen und dann über xrdp-/nx-Sitzungen nutzen kann.
    Soziale Kompatibilität und eine gute Kamera sind nötig. Ich habe auch i3 ausprobiert, aber ohne physische Tastatur war es schwer zu benutzen.

  • Wenn du den SXMO-Stil auf Sway ändern willst, zum Beispiel Menüeinträge größer machen, damit man sie leichter mit dem Finger antippen kann, oder zu einer schmalen Schrift wechseln, damit mehr Text in eine Zeile passt, oder das Erscheinungsbild anpassen willst, ist dieser Leitfaden nützlich: https://porkyofthepine.org/blog/rice_sxmo_sway.html

    • Ich habe schon darüber nachgedacht, eine Linux-Handy-Sitzung auf einem Server laufen zu lassen, und benutze im Moment nur tmux+mosh.
      Es wäre viel besser, wenn es einen Display-Manager gäbe, der auf dem Handy tatsächlich gut funktioniert, und das könnte helfen, in diese Richtung zu kommen.
    • Screenshots wären schön.
      Alles, was ich bisher über SXMO gesehen habe, vermittelt den Eindruck, eher für zimmermannsbärtige Hacker gedacht zu sein, die Stallman-artige Freiheit höher gewichten als Ästhetik oder Benutzerfreundlichkeit.
  • Es ist gut, dass man Google-Apps nicht zwingend ausführen muss.
    Trotzdem wäre es wirklich hilfreich, Zugriff auf einige notwendige, wenn auch nicht besonders beliebte Apps zu haben, etwa bestimmte Banking-Apps oder Apps für die Heimautomatisierung.

    • Es gibt Software namens Waydroid, mit der man Android-Apps auf GNU/Linux-Plattformen einschließlich PinePhone ausführen kann.
      Sxmo kann entgegen seinem Namen statt mit X auch mit Wayland laufen und unterstützt daher Waydroid.
      Mir persönlich ist es nicht gelungen, Waydroid zum Laufen zu bringen, was wegen der großen Downloads für die Ersteinrichtung noch schwieriger war. Ich habe es aber auch nicht besonders hartnäckig versucht, und online gibt es Videos von Leuten, bei denen es funktioniert hat.
      [1]: https://waydro.id/
      [2]: https://tilvids.com/w/2b2f3a24-ae23-458e-a0fd-2f24a185a11b
    • Banking-Apps laufen aus „Sicherheits“-Gründen normalerweise ungern in gerooteten Umgebungen. Ich frage mich, ob es dafür einen Workaround gibt.
  • In PmOS scheint es zwei SXMO-Varianten zu geben.
    sxmo-de-dwm: Ein auf SXMO basierendes Simple-Mobile-Mobilumfeld, das auf dwm läuft
    sxmo-de-sway: Ein auf SXMO basierendes Simple-Mobile-Mobilumfeld, das auf sway läuft

  • Ich frage mich, was es bei SXMO Neues gibt.
    Seit 2021 habe ich es nicht mehr verfolgt und würde gern wissen, ob es inzwischen ein Handy gibt, auf dem es stabil genug läuft.

    • Wahrscheinlich ist das PinePhone die stabilste Wahl.
      Ich habe ein paar Leute gesehen, die es auf diesem Gerät nutzen, und auch in aktuellen PinePhone-Threads wurde es mehrfach als gute Alternative zum Standard-Plasma erwähnt.