Adrian Vovk, skaperen av den atomisk oppdaterte carbonOS-distribusjonen og installasjonsprogrammet for GNOME OS, samt en av utviklerne av systemd-homed og systemd-sysupdate, annonserte endringer i GNOME som vil øke prosjektets avhengighet av systemd. I de kommende GNOME 49- og 50-utgivelsene vil noen av de innebygde komponentene for å starte påloggingsskjermen bli erstattet med standard systemd-funksjoner, noe som vil kreve opprettelse av nye lag for å levere GNOME i distribusjoner og operativsystemer som ikke bruker systemd. Det bemerkes at fjerning av gammel kode til fordel for standard systemd-funksjoner vil forenkle vedlikehold, kvitte prosjektet med midlertidige løsninger og tillate implementering av tilleggsfunksjonalitet, for eksempel lagring og gjenoppretting av økter.
Siden 2015 har GNOME brukt sesjonsbehandleren systemd-logind, som erstattet ConsoleKit. Distribusjoner som ikke støtter systemd bruker elogind, en nedstrippet versjon av logind uavhengig av systemd, eller patcher som returnerer støtte for ConsoleKit. Slike løsninger for å jobbe uten systemd tas ikke i betraktning eller testes under utviklingen av GNOME, så funksjonaliteten deres avhenger av tredjepartsentusiaster.
I fremtidige utgivelser av GNOME vil GDM-skjermbehandleren i tillegg bruke userverdb-infrastrukturen levert av systemd, og erstatte sin egen AccountsService. GNOME og systemd støtter ikke kjøring av mer enn én grafisk økt for samme bruker. GDM kan imidlertid vise flere påloggingsskjermer samtidig for å kjøre flere grafiske økter, noe som er nyttig for ekstern skrivebordstilgang og på flerbrukersystemer med flere skjermer og inndataenheter. Denne funksjonaliteten ble implementert i GDM for 15 år siden som en midlertidig løsning og er ikke kompatibel med den moderne dbus-brokeren, så det ble besluttet å gå over til en ny implementering som bruker systemd-userdb til å dynamisk tildele kontoer og kjøre hver påloggingsskjermforekomst under en unik bruker.
I tillegg ble det besluttet å fjerne implementeringen av GNOMEs egen tjenestebehandler, som ble brukt i gnome-session som en reservehåndterer for å starte GNOME-tjenester i miljøer uten systemd. Den innebygde tjenestebehandleren fungerte på nivået med å starte skrivebordsfiler og overvåke arbeidet til tjenester tilknyttet dem. Denne tjenestebehandleren har vært nesten uendret de siste 17 årene, og den eneste grunnen til at den ikke ble fjernet, var bruken i GDM for å starte innloggingsskjermen. Etter å ha byttet GDM til å bruke systemd for å starte innloggingsskjermen, hadde prosjektet ingen grunn til å støtte sin egen primitive øktbehandler, noe som forstyrrer implementeringen av muligheten til å lagre og gjenopprette økter.
For å forenkle tilpasningen av distribusjoner som ikke bruker systmed til endringer, vil GNOME 49 midlertidig legge til muligheten til å starte GDM uten userverdb ved å bruke en fast bruker gdm-greeter for den første påloggingsøkten, gdm-greeter-2 for den andre, osv. I GNOME 50 er en slik mulighet, samt den innebygde tjenestebehandleren, planlagt fjernet, så utviklere av distribusjoner uten systemd må snarest utvikle lag for å erstatte systemd-userverdb (io.systemd.Multiplexer, userverdb Varlink API) og øktlederprosessen som samhandler med tjenestebehandleren som brukes i distribusjonen.
En erstatning for den kjørbare filen gnome-session-ctl, som koordinerer interaksjoner mellom oppstartsprosessen for økten, D-Bus-tjenesten og systemd, vil også være nødvendig. En erstatning for gnome-session-ctl bør utvikles før GNOME 49 utgis.
Kilde: opennet.ru
