c't 27/2023
S. 152
Praxis
Desktop-Erweiterung

Zurechtgepuzzelt

Erweiterungen für den Linux-Desktop Gnome auf Version 45 migrieren

Die Entwickler des Linux-Desktops Gnome haben mit Version 45 die eigene JavaScript-Engine GJS modernisiert. Bestehende Erweiterungen sind mit der neuen Schnittstelle nicht kompatibel und brauchen eine Anpassung. Wir erklären Ihnen die Hintergründe und zeigen, wie Sie selbst eine Extension fit für Gnome 45 machen.

Von Andy Holmes und Keywan Tonekaboni

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.

Kommentieren