Si Adrian Vovk, ang lumikha ng atomically updated na carbonOS distribution at installer para sa GNOME OS, gayundin ang isa sa mga developer ng systemd-homed at systemd-sysupdate, ay nag-anunsyo ng mga pagbabago sa GNOME na magpapataas ng pagdepende ng proyekto sa systemd. Sa paparating na paglabas ng GNOME 49 at 50, ang ilan sa mga katutubong bahagi para sa paglulunsad ng login screen ay papalitan ng mga karaniwang kakayahan ng systemd, na mangangailangan ng paglikha ng mga bagong layer para sa paghahatid ng GNOME sa mga distribusyon at operating system na hindi gumagamit ng systemd. Napansin na ang pag-alis ng lumang code na pabor sa mga karaniwang kakayahan ng systemd ay magpapasimple sa pagpapanatili, aalisin ang proyekto ng mga workaround at magbibigay-daan para sa pagpapatupad ng karagdagang pag-andar, tulad ng pag-save at pagpapanumbalik ng mga session.
Mula noong 2015, ginamit ng GNOME ang systemd-logind session manager, na pumalit sa ConsoleKit. Ang mga distribusyon na hindi sumusuporta sa systemd ay gumagamit ng elogind, isang stripped-down na bersyon ng logind na hiwalay sa systemd, o mga patch na nagbabalik ng suporta para sa ConsoleKit. Ang ganitong mga workaround para sa pagtatrabaho nang walang systemd ay hindi isinasaalang-alang o nasubok sa panahon ng pagbuo ng GNOME, kaya ang kanilang pag-andar ay nakasalalay sa mga mahilig sa third-party.
Sa mga darating na release ng GNOME, ang GDM display manager ay dagdag na gagamitin ang userdb infrastructure na ibinigay ng systemd, na papalitan ang sarili nitong AccountsService. Ang GNOME at systemd mismo ay hindi sumusuporta sa pagpapatakbo ng higit sa isang graphical session para sa parehong user. Gayunpaman, maaaring magpakita ang GDM ng maraming login screen nang sabay-sabay upang magpatakbo ng maraming graphical na session, na kapaki-pakinabang para sa malayuang pag-access sa desktop at sa mga multiseat system na may maraming monitor at input device. Ang functionality na ito ay ipinatupad sa GDM 15 taon na ang nakalipas bilang isang pansamantalang workaround at hindi tugma sa modernong dbus-broker, kaya napagpasyahan na lumipat sa isang bagong pagpapatupad na gumagamit ng systemd-userdb upang dynamic na maglaan ng mga account at patakbuhin ang bawat instance ng login screen sa ilalim ng isang natatanging user.
Bilang karagdagan, napagpasyahan na alisin mula sa GNOME ang pagpapatupad ng sarili nitong tagapamahala ng serbisyo, na ginamit sa gnome-session bilang isang fallback handler para sa paglulunsad ng mga serbisyo ng GNOME sa mga kapaligiran na walang systemd. Ang built-in na tagapamahala ng serbisyo ay gumana sa antas ng paglulunsad ng mga desktop file at pagsubaybay sa gawain ng mga serbisyong nauugnay sa kanila. Ang tagapamahala ng serbisyo na ito ay nanatiling halos hindi nagbabago sa nakalipas na 17 taon at ang tanging dahilan kung bakit hindi ito inalis ay ang paggamit nito sa GDM upang ilunsad ang login screen. Matapos ilipat ang GDM para gamitin ang systemd para ilunsad ang login screen, walang dahilan ang proyekto para suportahan ang sarili nitong primitive session manager, na nakakasagabal sa pagpapatupad ng kakayahang mag-save at mag-restore ng mga session.
Upang pasimplehin ang adaptasyon ng mga distribusyon na hindi gumagamit ng systmed sa mga pagbabago, ang GNOME 49 ay pansamantalang magdaragdag ng kakayahang maglunsad ng GDM nang walang userdb gamit ang isang nakapirming user na gdm-greeter para sa unang sesyon ng pag-login, gdm-greeter-2 para sa pangalawa, atbp. Sa GNOME 50, ang ganoong kakayahan, pati na rin ang built-in na tagapamahala ng pamamahagi, ay binalak na palitan ang mga layer nang hindi kinakailangang mag-develop ng mga system, nang hindi kinakailangang mag-develop ng mga system. systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) at ang proseso ng session leader na nakikipag-ugnayan sa service manager na ginamit sa pamamahagi.
Kakailanganin din ang isang kapalit para sa gnome-session-ctl executable, na nag-coordinate ng mga pakikipag-ugnayan sa pagitan ng proseso ng pagsisimula ng session, serbisyo ng D-Bus, at systemd. Ang isang kapalit para sa gnome-session-ctl ay dapat na binuo bago ang GNOME 49 ay inilabas.
Pinagmulan: opennet.ru
