GNOME je přizpůsoben pro správu přes systemd

Benjamin Berg (Benjamin Berg), jeden z inženýrů Red Hat, který se zabývá vývojem GNOME, shrnuje výsledky práce na přechodu GNOME na správu relací výhradně prostřednictvím systemd, bez použití procesu gnome-session.

Pro správu přihlášení v GNOME se již delší dobu používá systemd-logind, který sleduje stavy relací vázaných na uživatele, spravuje identifikátory relací, odpovídá za přepínání mezi aktivními relacemi, koordinuje víceuživatelská prostředí (Multi-seat), nastavuje politiky přístupu k zařízením, poskytuje prostředky pro vypnutí a přechod do režimu spánku atd.

Přitom část funkčnosti související s relacemi zůstala na bedrech procesu gnome-session, který se zabýval správou přes D-Bus, spuštěním správce obrazovky a komponentů GNOME, organizací automatického spouštění aplikací určených uživateli. V průběhu vývoje GNOME 3.34 byly funkce specifické pro gnome-session upraveny do podoby unit-souborů pro systemd, které se vykonávají v režimu „systemd --user“, tj. vázaně na prostředí konkrétního uživatele, nikoli na celou systém. Změny již byly aplikovány v distribuci Fedora 31, jejíž vydání se očekává na konci října.

Použití systemd umožnilo organizovat spuštění procesorů na vyžádání nebo při výskytu určitých událostí, a také lépe reagovat na předčasné ukončení procesů kvůli chybám a podrobněji zpracovávat závislosti při spuštění komponent GNOME. Jako důsledek lze snížit počet trvale spuštěných procesů a snížit spotřebu paměti. Například XWayland nyní lze spustit pouze při pokusu o spuštění aplikace založené na protokolu X11, a komponenty specifické pro určité zařízení pouze při přítomnosti takového zařízení (například procesory pro čipové karty se spustí při vložení karty a skončí při jejím vytažení).

Pro uživatele jsou k dispozici flexibilnější nástroje pro správu spouštění služeb, například pro vypnutí zpracovatele multimediálních kláves je dostatečné provést „systemctl —user stop gsd-media-keys.target“. V případě problémů spojených s jednotlivými zpracovateli lze logy zobrazit příkazem journalctl (například „journalctl —user -u gsd-media-keys.service“), po předchozím povolení vedení ladícího logu v službě („Environment=G_MESSAGES_DEBUG=all“). Také se objevila možnost spouštění ve zkoumavých sandboxových prostředích pro všechny komponenty GNOME, které mají zvýšené požadavky na bezpečnost.

Pro usnadnění přechodu, podpora starého způsobu spouštění procesů plánuje bude zachována po několik vývojových cyklů GNOME. Dále vývojáři provedou revizi stavu gnome-session a pravděpodobně (označeno jako „pravděpodobně“) odstraní z něj prostředky pro spouštění procesů a údržbu D-Bus API. Poté bude použití „systemd —user“ považováno za povinnou funkci, což může způsobit potíže pro systémy bez systemd a vyžaduje přípravu alternativního řešení, tak jako tomu bylo v minulosti s systemd-logind. Nicméně, ve své prezentaci na konferenci GUADEC 2019 Benjamin Berg zmínil úmysl zachovat podporu staré metody spouštění pro systémy bez systemd, ale tyto informace nesouhlasí s plány na stránce projektu.

Přehrát video

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster