Gnome-Entwickler planen "Linux Apps"

Die Gnome-Entwickler planen ein App-Format, über das sich Linux-Programme ähnlich einfach installieren lassen sollen wie Smartphone-Apps. Sandboxing soll die "Linux Apps" voreinander und vom Rest des Systems abschotten.

In Pocket speichern vorlesen Druckansicht 278 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Thorsten Leemhuis

Die Gnome-Entwickler planen ein App-Format, mit dem Entwickler ihre Linux-Programme in Distributions-unabhängigen Dateien bereitstellen können, die sich ähnlich einfach installieren lassen sollen wie Smartphone-Apps. Dabei soll Sandboxing die Apps stärker voreinander und vom Rest des Systems abschotten, als es bei Anwendungen für Linux-Distributionen bislang der Fall ist. Die Pläne für solche "Linux Apps" haben einige Entwickler auf dem Gnome Developer Experience Hackfest ausgearbeitet, das im Vorfeld der FOSDEM 2013 in Brüssel stattfand. Dort hatten sich die Gnome-Entwickler auch schon auf JavaScript als De-facto-Standard zur Gnome-Programmierung festgelegt.

Eine Linux App soll nach den Vorstellungen der Gnome-Entwickler eine einzelne Datei sein. Dieses "App Image" soll das ausführbare Programm, die von ihm benötigten Datendateien und gegebenenfalls benötigte Bibliotheken enthalten. Eine Manifest-Datei im Image soll die Programmierschnittstellen ausweisen, die das System stellen muss, auf dem die App laufen soll. "Bare" etwa könnte besagen, dass nur das Kernel-ABI nötigt ist, während "system" einige Standard-Bibliotheken fordert, die Linux-Distributionen typischerweise mitbringen; "gnome-platform-1.0" hingegen könnte für den vollen Satz der Programmierschnittstellen stehen, die das Gnome-Projekt als stabil einstuft.

Das ganze Konzept soll Hand in Hand mit einer besseren Isolation der Apps gehen, wie Gnome-Entwickler Alexander Larsson in einem Blog-Eintrag schreibt, der einige Eckpunkte der Überlegungen zum neuen App-Format umreißt. So sollen die auch für Container genutzten Techniken zum Einsatz kommen, um jedes App Image in einen eigenen Bereich einzuhängen, in dem nur die laut Manifest benötigten Programmierschnittstellen zur Verfügung stehen. Einen direkten Zugriff auf das Home-Verzeichnis des Anwenders sollen die Apps nicht haben.

Zum Datenaustausch mit dem System und zur Interaktion mit anderen Apps sollen "Portale" dienen. Sie sollen ähnlich funktionieren wie Intents bei Android: System und Apps können als Portal Funktionen wie "Datei öffnen" oder "Foto aufnehmen" anbieten, die Apps abrufen können. Damit der Portal-Anbieter den Zugriff gewährt, muss der Anwender ihn erlauben. Diese Erlaubnis soll allerdings implizit erfolgen, wie heise open auf der FOSDEM erfahren konnte: Bei einem Portal-Nutzer, der ein Foto abfordert, könnte die das Portal anbietende Kamera-App den Zugriff etwa durch Betätigen des Auslösers genehmigen. Beim Dateiöffnen würde der Datei-Öffnen-Dialog des Hauptsystem als Portal-Anbieter agieren; die App erhält die ausgewählte Datei erst, nachdem der Anwender den "Öffnen"-Knopf betätigt hat.

Der Portal-Datenaustausch soll über ein D-Bus-ähnliches Protokoll zur Inter-Process Communication (IPC) erfolgen, das auf Kernelebene arbeitet. Es gibt schon zwei solche Lösungen – beide werden aber unabhängig vom Linux-Kernel gewartet, weil sie von den Kernel-Entwicklern abgelehnt wurden, die die betroffen Bereiche des Linux-Kernels betreuen. Kernel-Entwickler Greg Kroah-Hartman will bei der Entwicklung solch einer Lösung helfen und war extra deswegen auf dem Gnome-Hackfest.

Die Planungen sind schon weiter gediehen, als es der kurze Blog-Eintrag von Larsson andeutet; die Umsetzung dürfte allerdings noch viel Arbeit und Zeit erfordern. Zudem dürften die Überlegungen für reichlich Diskussionen sorgen: Bislang kümmern sich Linux-Distributionen selbst um das Bereitstellen von Anwendungs-Software in Programmpaketen, die aufeinander abgestimmt sind und sich einfach handhaben lassen. Das Einspielen von nicht zur Distribution gehörender Software oder neueren Programm-Versionen ist aber häufig nicht ganz einfach. (thl)