GNOME is aangepast om te worden beheerd via systemd

Benjamin Berg (Benjamin Berg), een van de Red Hat-ingenieurs die betrokken is bij de ontwikkeling van GNOME, samengevat resultaten van werkzaamheden aan de transitie van GNOME naar sessiebeheer, uitsluitend met behulp van systemd, zonder gebruik te maken van het gnome-sessieproces.

Het wordt al geruime tijd gebruikt om het inloggen op GNOME te controleren. systemd-login, dat gebruikersspecifieke sessiestatussen bijhoudt, sessie-ID's beheert, verantwoordelijk is voor het schakelen tussen actieve sessies, omgevingen met meerdere zitplaatsen coördineert, het toegangsbeleid voor apparaten configureert, tools biedt voor het afsluiten en in slaap vallen, enz. .

Tegelijkertijd bleef een deel van de sessiegerelateerde functionaliteit op de schouders van het gnome-sessieproces, dat verantwoordelijk was voor het beheer via D-Bus, het starten van de displaymanager en GNOME-componenten, en het organiseren van de autorun van door de gebruiker gespecificeerde applicaties. . Tijdens de ontwikkeling van GNOME 3.34 worden gnome-sessie-specifieke functies verpakt als eenheidsbestanden voor systemd, uitgevoerd in de “systemd —user”-modus, d.w.z. in relatie tot de omgeving van een specifieke gebruiker, en niet het hele systeem. De wijzigingen zijn al doorgevoerd in de Fedora 31-distributie, die naar verwachting eind oktober wordt uitgebracht.

Het gebruik van systemd maakte het mogelijk om de lancering van handlers op aanvraag of wanneer bepaalde gebeurtenissen plaatsvinden te organiseren, en om op een meer geavanceerde manier te reageren op voortijdige beëindiging van processen als gevolg van fouten en om uitgebreid om te gaan met afhankelijkheden bij het starten van GNOME-componenten. Als gevolg hiervan kunt u het aantal voortdurend actieve processen verminderen en het geheugengebruik verminderen. XWayland kan nu bijvoorbeeld alleen worden gestart wanneer wordt geprobeerd een applicatie uit te voeren op basis van het X11-protocol, en hardwarespecifieke componenten kunnen alleen worden gestart als dergelijke hardware aanwezig is (handlers voor smartcards starten bijvoorbeeld wanneer een kaart wordt geplaatst en beëindigen wanneer het wordt verwijderd).

Voor de gebruiker zijn er flexibelere tools verschenen voor het beheren van de lancering van services; om bijvoorbeeld de multimedia-sleutelhandler uit te schakelen, is het voldoende om "systemctl -user stop gsd-media-keys.target" uit te voeren. In geval van problemen kunnen de logbestanden die aan elke handler zijn gekoppeld, worden bekeken met de opdracht journalctl (bijvoorbeeld “journalctl —user -u gsd-media-keys.service”), nadat eerder debug-logboekregistratie in de service is ingeschakeld (“Environment= G_MESSAGES_DEBUG=alles”). Het is ook mogelijk om alle GNOME-componenten in geïsoleerde sandbox-omgevingen uit te voeren, waarvoor strengere beveiligingseisen gelden.

Om de overgang soepel te laten verlopen, ondersteuning voor de oude manier van draaien van processen is gepland blijven bestaan ​​gedurende meerdere GNOME-ontwikkelingscycli. Vervolgens zullen de ontwikkelaars de status van de kaboutersessie beoordelen en hoogstwaarschijnlijk (gemarkeerd als "waarschijnlijk") de tools verwijderen voor het starten van processen en het onderhouden van de D-Bus API daaruit. Vervolgens zal het gebruik van "systemd -user" worden gedegradeerd tot de categorie van verplichte functies, wat problemen kan veroorzaken voor systemen zonder systemd en de voorbereiding van een alternatieve oplossing zal vereisen, zoals ooit het geval was met systemd-login. In zijn toespraak op GUADEC 2019 noemde Benjamin Berg echter het voornemen om ondersteuning te behouden voor de oude opstartmethode voor systemen zonder systemd, maar deze informatie staat op gespannen voet met plannen voor projectpagina.

Bron: opennet.ru

Voeg een reactie