Mein Tablet-OS-Erlebnis optimieren: Verwendung von Surface Go 2 mit 4G/LTE, Debian GNU/Linux und i3wm

Sep. 28, 2020

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.

Microsoft Surface-Hardware ist beliebt, weil es wirklich gut ist

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

Microsoft Surface Go 2 mit schwarzem Type Cover und Surface Pen - ein schönes Stück Hardware!

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.

Die Installation von Debian GNU/Linux auf dem Surface Go 2 ist der Installation auf dem ursprünglichen Surface Go sehr ähnlich

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

Debian GNU/Linux mit i3wm („aka WillemOS“) läuft auf dem Surface Go 2

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)!

Den Verkauf Ihres iPad Pro ist einfach, wenn Sie die Originalverpackungen aufbewahren - ich habe meines in nur wenigen Tagen verkauft: Ich habe mich gezwungen, das neue Tablet zum Laufen zu bringen!

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!

Firefox (links) und ein MOSH/tmux-Terminalfenster (rechts) im Splitscreen mit dem i3wm Tiling-Window-Manager

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.

Mehrere Arbeitsbereiche sind sehr leistungsstark: Es ist wie beim Umschalten von Fernsehsendern

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.

Drei-Finger-Wischgeste zum Wechseln der Arbeitsbereiche - ein Trick von macOS - mit fusuma können Sie Multi-Touch-Gesten in i3wm verwenden

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.

Die Erweiterung des Speichers auf einem Surface Go 2 ist mit einer MicroSD-Karte möglich

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!

Einlegen der SIM-Karte in das Surface Go 2 Tablet

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:

Das Zurücksetzen der Puffer des Surface-Breitbandmodems ermöglichte die Verwendung mit Debian GNU/Linux!

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!

Network Manager (nm-applet) wechselt automatisch zwischen WLAN- und mobilen Breitbandverbindungen

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.

Die systemd-Einstellung „AllowSuspendThenHibernate“ in sleep.conf ermöglicht es Ihnen, eine Zeitüberschreitung zwischen dem Suspend-to-RAM und dem Suspend-to-Disk (Ruhezustand) zu definieren

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.

Konfigurieren Sie den LidSwitch (in der login.conf von systemd), um das System automatisch anzuhalten und fortzusetzen, wenn Sie das Surface Type Cover schließen. Ich habe es so konfiguriert, dass es nach einer Zeitüberschreitung in den Ruhezustand wechselt

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.

Thunar-Dateiexplorer (links) und GIMP (rechts) in visueller Harmonie - schaffen Sie ein einheitliches Erscheinungsbild durch die Abstimmung von Farben, Symbolen und Schriftarten

Shotwell (links) und Xournal (rechts) - zwei sehr unterschiedliche Anwendungen laufen nebeneinander und sehen optisch kohärent aus

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.

Der Surface Pen ist großartig, und wenn Sie Xournal für die Verwendung von Xinput konfigurieren, funktioniert die Druckempfindlichkeit perfekt: Sie können sehen, wie die Dicke der Linie variiert, genau wie bei einem echten Stift

Der Kickstand ist in Kombination mit Xournal und dem Surface Pen brillant - kein iPad kann das

Der Kickstand ist sehr stabil, da er zwei starke Metallscharniere verwendet

Das Type Cover ist ein Vergnügen zum Tippen mit echten (beleuchteten) Tasten, einschließlich ESC und einer Reihe von Funktionstasten

Sie können auch eine Bluetooth-Tastatur verwenden - so können Sie einen angenehmen Abstand zwischen Ihren Augen und dem Display einstellen

USB-C ist zwar die Zukunft, aber der Surface-Connector-Port ist recht praktisch, da er mit dem Surface Dock 2 funktioniert (das eine Vielzahl von Anschlussmöglichkeiten bietet)

Auf der Rückseite des Surface befindet sich kein hervorstehendes Kameraobjektiv, so dass das Tablet perfekt flach auf einem Tisch liegt - so wie es sein sollte!

Es ist ein winziger Computer, aber er ist unglaublich leistungsstark und vielseitig!

Das Lesen von E-Mails in Evolution funktioniert gut!

Es ist leicht genug, um es mit einer Hand zu bedienen - Sie können den Gyroskopsensor lesen, um das Display automatisch zu drehen - nützlich beim Lesen eines (interessanten) Artikels

Das Surface Go 2 ist ein ernstzunehmendes Werkzeug, das zu leistungsstarken Dingen fähig ist, wenn Sie sich mit der Cloud verbinden (über ein Terminal, MOSH und tmux)

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