Linux-Apps unter Chrome OS - eine Übersicht über die größten Funktionen seit Android-Apps

Hier finden Sie alles, was Sie über Googles jahrelange geheime Entwicklung der Linux-App-Funktionalität in Chrome OS, auch bekannt als Project Crostini, wissen müssen.

Kurz gesagt, es ist eine Möglichkeit, normale Linux-Anwendungen unter Chrome OS auszuführen, ohne die Sicherheit zu gefährden oder den Entwicklermodus zu aktivieren. Die (noch nicht verfügbare) offizielle Einstellung besagt, dass Linux-Tools, -Editoren und -IDEs auf Ihrem Chromebook ausgeführt werden sollen.

Crostini ist der Höhepunkt einer mehrjährigen Entwicklung, bei der die Funktionalität so sicher ausgeführt werden konnte, dass sie den hohen Sicherheitsstandards von Chrome OS entspricht. Um zu verstehen, warum es nur auftaucht, schauen Sie sich am besten an, was vorher war.

Crostini in den Kontext stellen - das dunkle Zeitalter von Chrome OS

Bevor Android-Apps auf den Markt kamen, gab es in Chrome OS nicht viel an Offline-Funktionen, geschweige denn nützliche Produktivitäts-Apps. Warum sollte eine vernünftige Person ein Chromebook kaufen? "Es ist nur ein Webbrowser", lautete die abschließende Bemerkung in jedem Chromebook-Test. Der Chrome Web Store war so umfangreich wie nie zuvor, aber die Auswahl an Apps war ziemlich dürftig und wurde nur selten aktualisiert. Die Abenteuerlustigen konnten versuchen, Android-Anwendungen mit einem Tool namens ARC Welder auszuführen, aber das war ein Erfolg oder Misserfolg, und die Leistung war schlecht.

Um Offline-Einschränkungen zu umgehen, haben frustrierte Benutzer entweder Chrome OS gelöscht und Linux installiert oder mithilfe des Open Source-Tools Crouton eine simultane Desktop-Umgebung [z. B. Ubuntu Unity] eingerichtet, die auf dem Chrome OS-Kernel funktioniert.

Die Installation von Crouton, einem Open-Source-Toolkit, das früher de facto den Zugriff auf Linux-Apps unter Chrome OS ermöglichte, wird bald veraltet sein

Das Ausführen einer GNU / Linux-Ersatzdistribution oder von Crouton erforderte einiges an Know-how und war häufig mit Fehlern behaftet - und keine der beiden Optionen war besonders benutzerfreundlich oder sicher. Wenn Sie die falsche Taste drücken, wird Ihr Gerät gelöscht oder gemauert. Wenn Sie Ihre Crouton-Umgebung unverschlüsselt lassen, kann jeder Gastbenutzer darauf zugreifen.

Android-App-Integration als Präzedenzfall

Android-Apps landeten 2016 auf Chrome OS und waren ein großer Sprung in die Offline-Funktionalität, aber diese Funktionalität war nicht nur Plug-and-Play. Die einzige Möglichkeit, auf einem Betriebssystem zu funktionieren, bei dem die Sicherheit im Vordergrund steht, besteht darin, dass es effektiv in einer Sandbox ausgeführt wird.

Die neuartige Lösung, für die sich die Chrome OS-Entwickler entschieden, war die Containerisierung, mit der Anwendungen in eigenständigen ausführbaren Paketen gebündelt werden können. Mit einem Container und mehr als ein paar Optimierungen gelang es ihnen, die gesamte Android-Umgebung und alle Abhängigkeiten in einem Container auszuführen, der vom Rest von Chrome OS getrennt und dennoch auf demselben Kernel ausgeführt wurde.

Android-Apps werden jedoch in der Regel nicht mit einem Desktop- / Laptop-Formfaktor entwickelt. Fügen Sie eine schlechte Touch-Erfahrung unter Chrome OS hinzu und Sie haben eine frustrierende Produktivitätssitzung, wenn Apps überhaupt funktionieren.

Kopfschmerzen mit Kompatibilität - Android-Apps unter Chrome OS

Während Android-Apps bisher dazu beigetragen haben, die Produktivitätslücke zu schließen, gab es immer noch die Sehnsucht nach der riesigen Bibliothek voller Desktop-Apps. Wie schon beim ersten Android-Problem würde die Möglichkeit, Linux-Anwendungen auszuführen, die Angriffsfläche von Chrome OS erhöhen, da böswillige Anwendungen auf alles auf dem Host-Betriebssystem zugreifen können. Deshalb haben die Entwickler diesmal die Linux-App-Funktionalität so weit wie möglich getrennt von dem, was sie bereits mit Android gelernt haben.

Verteidigung in der Tiefe

Wie der Name schon sagt, ähnelt Crostini Crouton, hat aber keinen unsicheren Benutzerraum neben Chrome OS, sondern zwei Wände dazwischen. Die erste Wand ist Termina VM, eine Chrome OS KVM-Implementierung (Kernel-based Virtual Machine). Sobald diese VM gestartet ist, wird die zweite Wand angezeigt - ein Container -, in dem sich die App befindet, die Sie tatsächlich ausführen möchten. Wenn Sie also Ihre vollwertige Klondike-Desktop-App ausführen möchten, wird sie in einem Container innerhalb einer VM ausgeführt.

Die Entwickler haben die öffentlich zugängliche Dokumentation aus nicht-technischer Sicht nicht besonders leicht verdaulich gemacht, aber aus der Sicht meines inoffiziellen Laien sieht die Softwarearchitektur für Chrome OS jetzt wahrscheinlich so aus [Hinweis: Alle funktionieren für mich, definitiv nicht Ein offizielles Dokument des Chrome OS-Teams, wahrscheinlich völlig falsch. Bitte verletzen Sie mich nicht.]:

Wie sieht die Crostini-Architektur aus? Kein offizielles Dokument.

Kurz gesagt, die VM-Komponente verfügt über einen separaten Benutzerbereich und virtuelle Geräte (vCPU, IP, MAC usw.), und der Container ist eine gepackte App, die diese Ressourcen nutzt. An dieser Stelle sollte ich eine Einschränkung hinzufügen, dass die VM-Komponente tatsächlich keine Hardware emuliert .

Nur für reiche Leute ... vorerst

Einige, wie die Community bei Reddit / r / Crostini, haben bereits begonnen, mit Crostini an ihren Google Pixelbooks zu basteln. Leider ist das Pixelbook das einzige Gerät, das über Crostini-Funktionen verfügt, aber Zeichen weisen auf andere Geräte hin, auch solche mit ARM-System-on-Chips, die zukünftig Unterstützung erhalten. Aber vielleicht noch nicht ganz für 32-Bit-Rechner. Es gibt auch Hinweise, dass einige Teile der VM-Funktionalität, die zum Ausführen von Crostini erforderlich sind, für Geräte mit älteren Kernelversionen nicht verfügbar sind.

Wenn Sie so weit gekommen sind, fragen Sie sich wahrscheinlich: Was kann ich rennen? Der Erfolg war begrenzt. Chrome-Entwickler haben angedeutet, dass Visual Studio ausgeführt wird. Reddit-Benutzer haben WINE und Android Studio zum Laufen gebracht, und ChromeUnboxed hat eine praktische Videodemo erstellt. Aber wir werden wahrscheinlich nicht alle Funktionen - und Einschränkungen - kennen, bevor Google tatsächlich etwas präsentiert. Was wir wissen, ist, dass Apps dauerhaft sind, was bedeutet, dass Sie dort weitermachen können, wo Sie aufgehört haben, und dass die Entwickler daran arbeiten, sie in Ihrer Liste der zuletzt verwendeten Apps verfügbar zu machen.

Was nun? Ein paar Punkte zu beachten

Wenn Sie sich auf einem anderen Chromebook als einem Pixelbook im Entwicklerkanal befinden, ist die Terminal-App möglicherweise auf Ihrem Chromebook angekommen. Möglicherweise wird der Fehler "Concierge konnte nicht gestartet werden" angezeigt. Das liegt daran, dass die VM-Funktionalität auf anderen Geräten als dem Pixelbook noch nicht aktiviert wurde.

Wir wissen noch nicht, wie Ressourcen zugewiesen werden und welchen Overhead diese verschachtelten Apps verursachen. Die Idee, auf Linux-kompatiblen Steam-Spielen zu spielen, ist verlockend, aber wenn die GPU-Beschleunigung nicht verfügbar ist, ist dies vorerst kein Problem.

Wir wissen nicht, welche Einschränkungen der Luftspalt zwischen Host und Container (falls vorhanden) hervorruft. Die Kommunikation zwischen dem Container und Chrome OS wird gesteuert. Führt dies zu Wartezeiten oder deaktiviert es sogar einige Peripheriegeräte?

Wir haben viele unbeantwortete Fragen, und es ist nur eine Frage der Zeit, bis alles offen gelegt wird. Viele sind davon überzeugt, dass Google I / O 2018 in ein paar Wochen die große Enthüllung sein wird - es ist sinnvoll, da es sich um eine Entwicklerkonferenz handelt. In der Zwischenzeit bleiben Sie dran, während wir Crostini im Auge behalten.


Quellen:

Maksim Lin - Chrome OS-Container

Chromium Git - ARC-Container-Bundle, vm_tools, project-termina, crosvm