Linux: Erweiterungen für Gnome auf Version 45 portieren

Gnome Shell nutzt ab Version 45 den JavaScript-Standard „ES Modules“. Dafür muss der Code von Erweiterungen angepasst werden, der Aufwand ist aber überschaubar.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
,
Lesezeit: 17 Min.
Von
  • Keywan Tonekaboni
  • Andy Holmes
Inhaltsverzeichnis

Die Linux-Desktopumgebung Gnome präsentiert sich mit einer schlichten Bedienoberfläche. Fehlt einem eine Funktion, gibt es dafür wahrscheinlich eine Erweiterung, die sie nachrüstet. Eine solche Gnome Shell Extension ist wie Teile der Shell in JavaScript programmiert. Die Ausführung übernimmt die Runtime "Gnome JavaScript" (GJS).

Da JavaScript ursprünglich nur dafür gedacht war, Webseiten zu pimpen, fehlte es zunächst an einem Importmechanismus, der Programmbestandteile aus anderen Dateien lädt. Daher haben Projekte wie Node.js und Gnome für GJS zunächst eigene Importsysteme entwickelt, um Module nachzuladen. Später erhielt JavaScript ein einheitliches, standardisiertes Importsystem namens "ES Modules" (ESM). Dieses verwendet seit Version 45 nun auch die Gnome Shell.

Mehr zu Linux

Mit dem Wechsel vom GJS-Eigenbau zum Standard ES Modules verwenden Programme und Erweiterungen für Gnome die bekannte und übliche JavaScript-Syntax. So finden sich Außenstehende mit JavaScript-Erfahrung leichter zurecht und können einfacher eigene Erweiterungen schreiben oder vorhandene verbessern. Da sich die Syntax aber von jener von GJS unterscheidet, müssen alle Gnome-Erweiterungen angepasst werden. Der Aufwand ist in der Regel überschaubar und die Autoren vieler populärer Erweiterungen haben diese bereits an Gnome 45 angepasst.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.