GNOME erhöht Abhängigkeit zu Systemd

Die GNOME-Entwickler wollen zukünftig weitere Funktionen von Systemd nutzen. Die damit weiter erhöhte Abhängigkeit könnte ein Problem für Distributionen darstellen, die explizit auf Systemd verzichten.

Der GNOME-Entwickler Adrian Vovk hat in einem Blog-Post zwei größere Änderungen angekündigt, die GNOME weiter mit Systemd verzahnen. Im Einzelnen greift der GNOME Display Manager (GDM) stärker auf Systemd-userdb zurück, zudem übernimmt Systemd komplett das Session-Management.

Entfernte Altlasten …

GDM kann prinzipiell mehrere Login-Bildschirme gleichzeitig anzeigen, beispielsweise für einen Multi-Seat-Betrieb oder Remote-Logins via RDP. GNOME und Systemd sind allerdings nicht darauf ausgelegt, mehrere grafische Sitzungen unter einem Benutzerkonto auszuführen. Um dennoch mehrere Sitzungen zu ermöglichen, nutzte GDM einige Hacks. Um die loszuwerden, greift GNOME auf die Fähigkeiten von Systemd-userdb zurück. Mit dessen Hilfe erzeugt GNOME dynamisch Benutzerkonten und zündet dann jeden Login-Bildschirm unter einem anderen Konto. Nachdem Systemd jetzt auch sogenannte Rich User Records unterstützt, kann das GNOME-Team den AccountsService Daemon ausmustern – der nach Angaben von Adrian Vovk vor 15 Jahren eigentlich nur als temporäre Lösung einführt worden war.

Den weitaus größeren Einschnitt betrifft das Session-Management: Bereits seit GNOME 3.34 zündet „gnome-session“ mit Systemd verschiedene Session-Dienste. Sollte Systemd in einer Distribution fehlen, delegierte GNOME diese Aufgabe an einen eigenen Service-Manager. Dessen Code stammt allerdings noch aus GNOME 2.24. Bleiben durfte er nur aufgrund der bereits erwähnten Hacks in GDM, die ihn voraussetzten. Da diese Hacks jedoch verschwunden sind, entfernen die GNOME-Entwickler jetzt auch den alten Service-Manager. Mit anderen Worten benötigt das Session-Management ab sofort zwingend Systemd.

… führen zu Problemen

Unter dem Strich kommt die komplette Desktop-Umgebung zukünftig nicht mehr ohne Systemd aus. Das stellt jedoch Distributionen vor Probleme, die bewusst kein Systemd verwenden – wie etwa Devuan. Ebenfalls betroffen sind BSD- und andere unixoide Systeme.

Um denen zu helfen, hat Adrian Vovk zunächst in GDM einen Workaround implementiert: Compiliert man den Display-Manager gegen Elogind, nutzt GDM den Nutzer „gdm-greeter“ für den ersten Login-Bildschirm, „gdm-greeter-2“ für den zweiten und so weiter.

Für das Session-Management müssen die Distributoren jedoch einen eigenen Workaround schaffen – was allerdings kein einfaches Unterfangen ist. Unter anderem müssen sie einen eigenen Service-Manager installieren und für ihn die von GNOME mitgelieferten Systemd Units umschreiben. Darüber hinaus müssen sie „gnome-session“ austauschen und irgendwie die eigentlich von Systemd offerierte Userdb Varlink API bereitstellen.

Dieser Aufwand dürfte für viele Distributoren zu groß sein. Für sie besteht damit nur noch die Option, entweder Systemd mit GNOME einzuspielen oder auf GNOME zu verzichten. Alle Änderungen sollen mit dem kommenden GNOME 49 eingeführt werden. GNOME 48 unterstützen die Entwickler allerdings noch bis zum Erscheinen von GNOME 50, so dass Distributionen noch etwas Zeit für eine Umsetzung bleibt.

E-Mail Benachrichtigung
Benachrichtige mich zu:
3 Kommentare
Älteste
Neuste Beste Bewertung
Jack
1 Jahr her

Wer Gnome verwendet, hat die Kontrolle über sein Leben verloren.

Bin schon vor 4-5 Jahren von Gnome weg, als sie angefangen haben, den User in seinen Entscheidungsfreiheiten immer weiter zu kastrieren. Dieser Post bestätigt wieder, dass Gnome Schmutz ist.

Atalanttore
1 Jahr her
Reply to  Jack

Gute Entscheidung. Selbst Microsoft hört mehr auf die Wünsche der Anwender als GNOME-Entwickler.

Torsten
1 Jahr her

als void nutzer, dem systemd nicht zur verfügung steht:
ich werde es nicht vermissen

Nach oben