Sep. 28, 2020
Mein Tablet-OS-Erlebnis optimieren
Verwendung von Surface Go 2 mit 4G/LTE, Debian GNU/Linux und i3wm
Anfang des Jahres habe ich versucht, mein eigenes Tablet-Betriebssystem zu erstellen, indem ich Debian GNU/Linux auf einem Microsoft Surface Go Tablet installiert habe. Ich habe viel darüber gelernt, was ich an Tablets mag. Aber ich habe mein iPad Pro immer noch bevorzugt, hauptsächlich wegen seiner ausgefeilten Benutzererfahrung. Dieses Mal habe ich mir vorgenommen, meine Tablet-Software zu verfeinern, um mein iPad zu ersetzen.
Linux auf (Surface) Tablets
Wenn Sie darüber nachdenken, Linux auf einem Tablet zu installieren: Sie sind nicht allein. Mein früherer Beitrag über die Installation von Debian GNU/Linux auf Surface GO erhielt eine Menge Aufmerksamkeit. Anscheinend suchen viele von Ihnen nach einer Alternative zu den abgeschotteten Betriebssystemen, die normalerweise auf Tablets installiert sind (wie iPadOS, Android oder Windows 10S).
Microsoft Surface Hardware und Linux
Da die Geschichte voller süßer Ironie ist, ist es Microsoft, das tatsächlich ziemlich ansehnliche Hardware herstellt, die gut mit Linux funktioniert. Ihre Surface-Reihe umfasst verschiedene Laptops und Tablets. Die Reddit-Seite „SurfaceLinux“ ist voll von interessanten Benutzergeschichten, die es wert sind, gelesen zu werden. Die Leute tun dies und Sie könnten es auch selbst tun.

Erster Versuch: Surface Go (gegen iPad Pro)
Nach der Installation und Modifikation von Debian GNU/Linux auf Surface GO, genannt „Willem OS“, versuchte ich, es zu meinem Hauptcomputer zu machen. Wenn Sie ein häufiger Besucher meines Blogs sind, wissen Sie, dass ich seit Jahren iPads und Tablets als Hauptcomputer benutze. Letztendlich hielt ich meine erste Version von „WillemOS“ für nicht gut genug: Das iPad Pro war Lichtjahre voraus, wenn es um eine ausgefeilte Benutzererfahrung ging.
Aus diesem ersten Versuch habe ich viel gelernt, es führte zu einem besseren Verständnis dessen, was ich von einem Tablet-Erlebnis erwarte. Ich suche nach einer einfachen, aber vielseitigen Software, die auf meinem Tablet läuft.
Aber „einfach“ ist tatsächlich sehr schwer zu erreichen. Um die Dinge wirklich einfach zu machen, müssen Sie Hardware und Software nahtlos integrieren. Apple macht das gut, das iPad Pro bietet eine großartige Benutzererfahrung, weil:
- weitermachen, wo Sie aufgehört haben: Es speichert alles, wenn Sie es in eine Tasche stecken, und ist (sofort) bereit, weiterzumachen, wenn Sie es herausnehmen. Kein manuelles Speichern oder (Neu-)Starten erforderlich.
- Internet überall: Es wechselt automatisch zwischen WLAN- und 4G/LTE-Netzwerken, Sie müssen nichts tun, das „funktioniert einfach“.
- beliebige Ausrichtung und Position: Das iPad funktioniert hervorragend ohne externe Tastatur oder Maus, sodass Sie es in vielen verschiedenen Szenarien verwenden können (das Display passt seine Helligkeit und seinen Weißabgleich auch automatisch an Ihre Umgebung an!)
Es stellte sich heraus, dass es schwierig ist, diese Dinge nahtlos mit Debian GNU/Linux auf Surface zum Laufen zu bringen. Mein erstes Tablet-Betriebssystem erforderte viel manuelle Interaktion und war daher im Vergleich zum iPad Pro umständlich.
Zweiter Versuch: Surface Go 2
Microsoft hat dieses Jahr ein neues Surface Go Tablet herausgebracht, das Surface Go 2. Es hat einen schnelleren Prozessor (bis zu 64 %!), dünnere Ränder und einen verbesserten Bildschirm. Es ist ein sehr ordentliches Upgrade, das das Surface Go 2 in Bezug auf die Hardware viel mehr mit dem 11-Zoll-iPad Pro gleichsetzt. Für meinen zweiten Versuch, das ultimative Tablet-Erlebnis zu schaffen, entschied ich mich für das Topmodell Surface Go 2:
- 10,5-Zoll-Touchscreen (1920x1250, 220PPI), Seitenverhältnis 3:2, Corning® Gorilla® Glass 3
- Intel Core m3 Prozessor (8. Generation)
- 8 GB RAM
- WLAN 802.11a/b/g/n/ac/ax
- LTE Advanced (Qualcomm® Snapdragon™ X16 LTE Modem)
- Bluetooth 5.0
- Intel UHD Graphics 615
- Abmessungen: 245 mm x 175 mm x 8,3 mm
- 256 GB SSD
- 512 GB MicroSDXC-Karte
- 1x USB-C und 1x Surface Connect Anschluss

Installation von Debian GNU/Linux auf Surface Go 2
Das Surface Go 2 ist seinem Vorgänger sehr ähnlich, wenn es um die Installation einer Basisinstallation Ihrer bevorzugten GNU/Linux-Distribution geht. Ich bin hier meinen eigenen Schritten von der ursprünglichen Surface Go-Installation gefolgt.

Kurz gesagt, Sie müssen die folgenden Schritte ausführen, wenn Sie Linux auf Ihrem Surface installieren:
- 1) Aktualisieren Sie Windows 10 und installieren Sie alle Firmware-Patches/Updates
- 2) Erstellen Sie ein bootfähiges Installationsmedium mit Ihrer bevorzugten GNU/Linux-Distribution
- 3) (Optional) Schließen Sie eine kabelgebundene Ethernet-Verbindung an
- 4) Starten Sie das Surface vom USB-Laufwerk
- 5) Installieren Sie das Betriebssystem mit dem Installationsprogramm
- 6) Optimieren und verfeinern Sie die Softwareerfahrung

Verfeinerung der Erfahrung
Der letzte Schritt der Installation ist der, bei dem Sie den Unterschied zwischen einer fantastischen und einer lausigen Benutzererfahrung ausmachen können. Um mich “zu ermutigen“, bei diesem Experiment zu bleiben, beschloss ich, mein iPad Pro zu verkaufen: die Schiffe zu verbrennen (da es keinen Weg zurück gäbe)!

Auf einem kleinen Display ist es absolut sinnvoll, Apps im Vollbildmodus auszuführen. Ich weiß, dass das konventionelle PC-Konzept der Verwaltung von verschiedenen Anwendungsfenstern nicht die beste Benutzererfahrung auf einem kleinen Tablet-Computer bietet. Deshalb habe ich beschlossen, einen Kachelfenstermanager auszuprobieren: i3wm.
Kachelfenstermanager
Das Prinzip eines Kachelfenstermanagers ist einfach: Apps nehmen so viel Platz ein, wie verfügbar ist. Das bedeutet, wenn Sie nur eine App ausführen, wird sie im Vollbildmodus angezeigt. Zwei Apps laufen im geteilten Bildschirm usw. usw. Sie können Regeln definieren, die die Anordnung von Apps automatisieren. Mit Tastaturkürzeln können Sie schnell zwischen Apps wechseln. Sie brauchen vielleicht etwas Zeit, um herauszufinden, was für Sie am besten funktioniert, wenn Sie einen Kachelfenstermanager verwenden, aber am Ende kann es Ihnen viel Zeit sparen!

Arbeitsbereiche
Eine weitere leistungsstarke Funktion von i3wm ist, dass Sie verschiedene „Arbeitsbereiche“ haben können. Sie sind eine einfache Möglichkeit, Gruppen von Apps zu organisieren, die zusammen ausgeführt werden. Ich verwende verschiedene Arbeitsbereiche für verschiedene Dinge, die ich tue. Ein gängiger Ansatz ist es, den Webbrowser auf einem Arbeitsbereich, Mailanwendungen auf einem anderen und diejenigen, mit denen Sie arbeiten, auf dem dritten zu platzieren.

Das Tolle an mehreren Arbeitsbereichen ist, dass eine App (z. B. Ihr Browser) mehrere Instanzen auf verschiedenen Arbeitsbereichen ausführen kann. Dies ermöglicht viele verschiedene Kombinationen von Apps. Hier ist der i3wm-Fenstermanager viel besser als die Multitasking-Funktion von iPadOS.
Der i3wm-Fenstermanager unterstützt externe Monitore sehr gut und verwendet das gleiche Konzept eines Arbeitsbereichs. Sie weisen einfach einen oder mehrere Arbeitsbereiche zu, die auf dem zusätzlichen/externen Bildschirm angezeigt werden sollen. Dies funktioniert gut mit dem Surface Dock und USB-C-zu-HDMI-Zubehör für Surface. Die Unterstützung für mehrere Monitore ist wirklich großartig.

Eine Sache, die Sie ausprobieren sollten, ist die Verwendung von fusuma, um Drei-Finger-Gesten auf dem Trackpad zu aktivieren. Wenn Sie jemals an einem MacBook gearbeitet haben, wissen Sie, dass die Multitouch-Trackpads nützliche Gesten zum Wechseln von Desktops (oder Arbeitsbereichen in i3wm) ermöglichen. Es funktioniert wirklich gut!
Speicher
Für die Verwaltung meiner Fotos mit Shotwell wollte ich ernsthaften Speicherplatz auf meinem Tablet. Obwohl ich das Topmodell Surface Go 2 mit dem 256-GB-SSD-Laufwerk habe, habe ich den MicroSD-Kartensteckplatz verwendet, um meine Speicherkapazität um weitere 512 GB zu erweitern. Die MicroSD-Karte ist langsamer als die integrierte SSD, aber für Dateien, die Sie nicht jeden Tag/jede Stunde/jede Minute lesen, ist sie schnell genug.

Meine Debian GNU/Linux-Installation hatte keine Probleme, die MicroSD-Karte zu erkennen. Ich habe die gesamte MicroSD-Karte verschlüsselt, um zu verhindern, dass meine Fotos verloren gehen, falls ich meine Karte jemals verlieren sollte. Sie sollten dies (immer) in Betracht ziehen und geeignete Maßnahmen zum Schutz und zur Sicherung Ihrer Daten ergreifen!
Konnektivität WLAN/4G/LTE
Nach der Installation der „nicht freien“ Wireless-Firmware in Debian funktioniert das WLAN auf dem Surface Go 2 gut. Das LTE/4G zum Laufen zu bringen war viel schwieriger! Aus irgendeinem Grund wurde die WWAN-Verbindung nicht gestartet, obwohl ich eine funktionierende SIM-Karte in das Surface Go eingelegt hatte. Aus irgendeinem mysteriösen Grund startete das Modem nicht richtig, 4G/LTE funktionierte nicht!

Eines der großartigen Dinge am iPad ist, dass es die Konnektivitätslogik vom iPhone teilt. Es verwaltet automatisch verschiedene drahtlose Netzwerke und mobile Breitbandverbindungen. Ich wollte, dass dies auch auf meinem Linux-Tablet funktioniert!
Als ich nach einem Hinweis suchte, um 4G/LTE zum Laufen zu bringen, schaute ich mir Berichte über Surface Pro an. Das Surface Go 2 ist dem größeren Pro technisch sehr ähnlich. Ich dachte mir, dass ich von den Bemühungen der Leute mit mobilem Breitband auf dem Surface Pro lernen könnte. Nach vielen Stunden des Suchens und Ausprobierens verschiedener Dinge fand ich diese Lösung, um 4G auf Surface zum Laufen zu bringen:

Sie können den Network Manager (und Modem Manager) verwenden, um das Konnektivitätsmanagement unter Linux zu automatisieren. Standardmäßig werden WLAN-Verbindungen gegenüber mobilem Breitband bevorzugt. Sie können es automatisch über 4G/LTE verbinden lassen, wenn kein WLAN verfügbar ist. Es funktioniert jetzt sehr gut in Kombination mit der Surface Go 2 Hardware!

Suspend/Hibernate/Resume
Eine andere Sache, an die kein iPad-Benutzer jemals denkt, ist, wie großartig Apple die Dinge in Bezug auf Suspend und Resume richtig gemacht hat. Wenn Sie ein iPad haben, können Sie es viele Tage im Standby-Modus haben, und es ist immer sehr schnell, dort weiterzumachen, wo Sie aufgehört haben, sobald Sie es wieder in die Hand nehmen.
Um mein Surface mit GNU/Linux dazu zu bringen, das Gleiche zu tun, brauchte ich eine Möglichkeit, schnell zu suspendieren und fortzufahren. In der Linux-/PC-Welt gibt es im Grunde vier Energiemodi:
- ein: Apps laufen. System ist vollständig eingeschaltet, verbraucht viel Strom
- Suspend (to RAM): App-Zustände werden im RAM-Speicher gespeichert. System ist noch eingeschaltet, aber jede Komponente ist so weit wie möglich heruntergefahren, verbraucht noch Strom (+/- 10 % Batterieverbrauch pro Stunde in meinem Fall mit Surface Go 2)
- Suspend (to disk) / Hibernate: App-Zustände werden auf der Festplatte gespeichert. System ist ausgeschaltet und verbraucht keinen Strom
- aus: Apps sind geschlossen. System ist ausgeschaltet, kein Stromverbrauch
Um „sofort dort fortzufahren, wo Sie aufgehört haben“, müssen Sie App-Zustände speichern. Die schnellsten (und nahezu sofortigen) Wiederaufnahmen sind möglich, wenn der App-Zustand im RAM-Speicher gespeichert ist. Das Problem mit dem RAM-Speicher ist, dass er Strom (Strom!) benötigt, um seinen Wert zu erhalten. Sobald der Strom ausfällt, gehen die App-Zustände verloren.
Die Alternative ist das Suspendieren auf die Festplatte (oder Ruhezustand), wobei der Zustand auf dem permanenten Speichergerät im Computer gespeichert wird. Dadurch kann sich der Computer vollständig ausschalten. Das Problem beim Suspendieren auf die Festplatte ist, dass das Fortsetzen langsamer ist und die erneute Eingabe von Verschlüsselungspassphrasen für die vollständige Festplattenverschlüsselung erfordert.
Die gute Nachricht ist, dass modernes GNU/Linux mit systemd ausgestattet ist, mit dem Sie konfigurieren können, wie der Computer mit Suspend und Resume umgeht. Sie können Ihr Tablet so konfigurieren, dass es zuerst in den RAM-Speicher suspendiert (wodurch ein sofortiges Fortsetzen ermöglicht wird) und dann nach einer gewissen Zeit auf die Festplatte suspendiert.

An einem normalen Arbeitstag wache ich (sehr) früh auf, um von zu Hause aus an meinen anspruchsvollsten Projekten zu arbeiten. Dann fahre ich mit dem Fahrrad zur Arbeit und arbeite von dort aus weiter. Ich habe meine Fahrzeit gestoppt und festgestellt, dass ich, wenn mein Tablet mindestens zwei Stunden eingeschaltet bleiben würde, meine Arbeit sofort wieder aufnehmen könnte. Wenn ich nicht innerhalb von zwei Stunden weiter an meinem Tablet arbeite, spart es Akkustrom, indem es auf die Festplatte suspendiert. Auf diese Weise habe ich die beste Erfahrung für meine spezielle Situation.

Einheitliches Erscheinungsbild
Im Gegensatz zum streng kontrollierten iPad wird Software unter GNU/Linux mit vielen verschiedenen Ansätzen für das Design der Benutzeroberfläche erstellt. Es gibt keine Richtlinien für die Benutzeroberfläche, die Apple für iOS und iPadOS vorschreibt. Dies ist ein Problem, da es dazu führt, dass Software inkonsistent aussieht und sich anfühlt.
Ein konsistentes Look and Feel ist wichtig, um eine reibungslose Umgebung und Benutzererfahrung zu ermöglichen. Daher habe ich viele kleine Anpassungen an Farbe, Schriftarten, Symbolen und Symbolleisten vorgenommen, damit meine Apps alle ähnlich aussehen und sich anfühlen. Obwohl es nicht perfekt harmonisch ist, fühlt es sich nicht mehr so an, als würde ich mit „Frankenstein OS“ arbeiten.
Ich bevorzuge ein dunkles Thema, da es meine Augen schont, aber Sie sollten selbst entscheiden. Verwenden Sie Tools wie lxappearance, um Anpassungen für mehrere Apps vorzunehmen. Aber Sie müssen wahrscheinlich auch Anpassungen für einzelne Apps vornehmen. Ich verwende das adwaita-dark-Thema und (monochrome) HighContrast-Symbole mit der Schriftart Open Sans Light.


Verwendung als Daily Driver
Ein schönes System zu bauen ist eine Sache, es aber tatsächlich als Daily Driver zu benutzen, ist etwas anderes! Das Surface Go ist mein Daily Driver und in den letzten Wochen habe ich mit verschiedenen Dingen und Einstellungen experimentiert. Hier sind einige Highlights.











Fazit
Mein eigenes Tablet-Betriebssystem zu entwickeln ist eine echte Herausforderung. Mein erster Versuch war nicht gut genug, um mein iPad zu ersetzen. Dieser zweite Versuch ist jedoch anders. Die Zeit und Mühe, die ich in die Verfeinerung der Benutzererfahrung investiert habe, führt zu einem viel besseren System. Ich benutze es jetzt täglich als meinen Hauptcomputer.
Obwohl ich die Arbeit, die Apple am iPad geleistet hat, immer geschätzt habe, bleibt es durch seine abgeschottete Software begrenzt. Besonders jetzt, wo Apple beschlossen hat, seine AppStore-Kontrolle zu verdoppeln. Der einzige Weg, die Zukunft zu kontrollieren, ist, sie selbst zu gestalten: Ich glaube, die Zeit ist reif, Kapitän auf meinem eigenen Schiff zu werden!
Update Januar 2021
Nach_Monaten_intensiver_Nutzung_habe_ich_beschlossen,_mein_eigenes_Tablet-Betriebssystem_ aufzugeben