В GNOME ще бъде засилена зависимостта от systemd

Адриан Вовк (Adrian Vovk), създател на атомарно обновяемия дистрибутив carbonOS и инсталатора за GNOME OS, както и един от разработчиците на systemd-homed и systemd-sysupdate, обяви за изменения в GNOME, които ще засилят зависимостта на проекта от systemd. В предстоящите версии GNOME 49 и 50 някои от собствените компоненти за стартиране на екрана за вход ще бъдат заменени с вградени възможности на systemd, което ще изисква създаването на нови прослойки за доставка на GNOME в дистрибути, които не използват systemd. Подчертава се, че премахването на стария код в полза на вградените възможности на systemd ще опрости поддръжката, ще освободи проекта от временни решения и ще позволи реализирането на допълнителни функционалности, като запазване и възстановяване на сесии.

От 2015 година GNOME използва мениджър на сесиите systemd-logind, заменил ConsoleKit. В дистрибути, които не поддържат systemd, се използва elogind, независима от systemd опростена версия на logind, или пачове, които възстановяват поддръжката на ConsoleKit. При разработката на GNOME такива обходни решения за работа без systemd не се вземат предвид и не се тестват, затова тяхната работоспособност зависи от странични ентусиасти.

В бъдещите версии на GNOME в дисплейния мениджър GDM допълнително ще бъде използвана инфраструктурата userdb, предоставяна от systemd, която ще замени собствения сервис AccountsService. GNOME и systemd сами по себе си не поддържат стартиране на повече от една графична сесия за един и същи потребител. Въпреки това GDM може да показва едновременно няколко екрана за вход, за да стартира едновременно няколко графични сесии, което се използва при отдалечен достъп до работния плот и на multiseat-системи с множество монитори и входни устройства. Подобна функционалност в GDM е реализирана преди 15 години като временно решение и не е съвместима с съвременния dbus-broker, затова е решено да се премине към нова реализация, използваща systemd-userdb за динамично разпределение на акаунти и стартиране на всеки екземпляр на екрана за вход под уникален потребител.

Освен това, решено е да се премахне от GNOME собствената реализация на мениджъра на услуги, която се е използвала в gnome-session като резервен обработчик за стартиране на услуги GNOME в среди без systemd. Вграденият мениджър на услуги е функционирал на ниво стартиране на desktop файлове и проследяване на работата на свързаните с тях услуги. Този мениджър на услуги почти не е бил променян през последните 17 години и единствената причина, поради която не е бил премахнат, оставаше неговото използване в GDM за стартиране на экрана за вход в системата. След преминаването на GDM към използване на systemd за стартиране на экрана за вход в системата, проектът няма повече причини да поддържа собствен примитивен мениджър на сесии, който пречи на реализирането на възможността за запазване и възстановяване на сесии.

За опростяване на адаптацията към промените на дистрибуции, които не използват systemd, в GNOME 49 ще бъде временно добавена възможност за стартиране на GDM без userdb с използването на фиксиран потребител gdm-greeter за първата сесия за вход, gdm-greeter-2 за втората и т.н. В GNOME 50 подобна възможност, както и вграденият мениджър на услуги, планират да бъдат премахнати, затова разработчиците на дистрибуции без systemd спешно трябва да разработят прослойки за замяна на systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) и процеса на стартиране на сесия (session leader), взаимодействуващ с използвания в дистрибуцията мениджър на услуги.

Също така ще е необходима замяна на изпълнимия файл gnome-session-ctl, координиращ взаимодействието между процеса на стартиране на сесия, услугата D-Bus и systemd. Замяната на gnome-session-ctl трябва да бъде разработена преди издаването на GNOME 49.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster