GNOME adaptiĝis por systemd-administrado

Benjamin Berg (Benjamin Berg), unu el la Red Hat-inĝenieroj implikitaj en GNOME-evoluo, ĝeneraligita rezultoj de laboro pri transiro de GNOME al seanca administrado ekskluzive uzante systemd, sen uzi la procezon de gnome-session.

Ĝi estas uzata dum sufiĉe da tempo por kontroli ensaluton al GNOME. systemd-salutu, kiu spuras uzantspecifajn sesiajn ŝtatojn, administras sesiajn identigilojn, respondecas pri ŝanĝado inter aktivaj sesioj, kunordigas plursidajn mediojn, agordas aparatajn alirpolitikojn, disponigas ilojn por fermi kaj endormigi, ktp.

En la sama tempo, parto de la sesio-rilata funkcieco restis sur la ŝultroj de la gnome-sesia procezo, kiu respondecis pri administrado per D-Bus, lanĉado de la ekranmanaĝero kaj GNOME-komponentoj, kaj organizado de la aŭtorunado de uzant-specifitaj aplikoj. . Dum la evoluo de GNOME 3.34, gnome-sesiaj specifaj funkcioj estas pakitaj kiel unuopaj dosieroj por systemd, ekzekutitaj en "systemd -uzanto", t.e. rilate al la medio de specifa uzanto, kaj ne la tuta sistemo. La ŝanĝoj jam estis efektivigitaj en la distribuo Fedora 31, kiu estas atendita esti liberigita fine de oktobro.

Uzado de systemd ebligis organizi la lanĉon de pritraktiloj laŭ postulo aŭ kiam certaj eventoj okazas, same kiel pli sofistika reagi al antaŭtempa fino de procezoj pro misfunkciadoj kaj vaste trakti dependecojn dum lanĉado de GNOME-komponentoj. Kiel rezulto, vi povas redukti la nombron da konstante kurantaj procezoj kaj redukti memorkonsumon. Ekzemple, XWayland nun povas nur esti lanĉita dum provado prizorgi aplikiĝon bazitan sur la X11-protokolo, kaj hardvar-specifaj komponentoj nur povas esti lanĉitaj se tia aparataro ĉeestas (ekzemple, pritraktiloj por inteligentaj kartoj komenciĝos kiam karto estas enigita. kaj finiĝas kiam ĝi estas forigita).

Pli flekseblaj iloj por administri la lanĉon de servoj aperis por la uzanto; ekzemple, por malŝalti la plurmedian ŝlosiltraktilon, sufiĉos ekzekuti "systemctl -user stop gsd-media-keys.target". En kazo de problemoj, la protokoloj asociitaj kun ĉiu prizorganto povas esti rigardataj per la komando journalctl (ekzemple, "journalctl —user -u gsd-media-keys.service"), antaŭe ebligante sencimigan ensalutadon en la servo ("Medio= G_MESSAGES_DEBUG=ĉiuj”). Eblas ankaŭ ruli ĉiujn GNOME-komponentojn en izolitaj sablokesto-medioj, kiuj estas submetitaj al pliigitaj sekurecaj postuloj.

Por glatigi la transiron, subtenas la malnovan manieron prizorgi procezojn estas planita daŭras dum pluraj evolucikloj de GNOME. Poste, la programistoj revizios la staton de la gnomo-sesio kaj plej verŝajne (markita kiel "verŝajna") forigos la ilojn por lanĉi procezojn kaj konservi la D-Bus API de ĝi. Tiam la uzo de "systemd -user" estos forigita al la kategorio de devigaj funkcioj, kiuj povas krei malfacilaĵojn por sistemoj sen systemd kaj postulos la preparadon de alternativa solvo, kiel iam estis la kazo kun systemd-salutu. Tamen, en sia parolado ĉe GUADEC 2019, Benjamin Berg menciis la intencon konservi subtenon por la malnova startmetodo por sistemoj sen systemd, sed ĉi tiu informo malkonsentas kun planoj por projekto paĝo.

fonto: opennet.ru

Aldoni komenton