GNOME е адаптиран за управление чрез systemd

(Бенджамин Берг (Бенджамин Берг), един от инженерите на Red Hat, занимаващи се с разработка на GNOME, обобщи резултатите от работата по превода на GNOME за управление на сесиите изключително с помощта на systemd, без да се използва процеса gnome-session.

За управление на входа в GNOME отдавна се използва systemd-logind, който проследява състоянията на сесиите, свързани с потребителя, управлява идентификаторите на сесиите, отговаря за превключването между активните сесии, координира многопотребителски среди (Multi-seat), настройва политики за достъп до устройства, предоставя средства за завършване на работа и преминаване в спящ режим и т.н.

В същото време част от функционалността, свързана със сесиите, остана на раменете на процеса gnome-session, който се занимаваше с управлението чрез D-Bus, стартиране на дисплейния мениджър и компонентите на GNOME, организиране на автоматично пускане на приложения, указани от потребителя. В процеса на разработка на GNOME 3.34 специфичните за gnome-session възможности са оформени под формата на unit-файлове за systemd, изпълнявани в режим „systemd --user“, т.е. свързани с околната среда на конкретния потребител, а не на цялата система. Промените вече са приложени в дистрибуцията Fedora 31, чийто изход се очаква в края на октомври.

Използването на systemd предостави възможност за организиране на старта на обработвачи по заявка или при настъпване на определени събития, както и по-изтънчено реагиране на преждевременни приключвания на процеси поради неизправности и разширено обработване на зависимости при стартиране на компонентите на GNOME. В резултат на това може да се намали броят на постоянно работещите процеси и да се намали консумацията на памет. Например, XWayland сега може да се стартира само при опит за изпълнение на приложение на база протокол X11, а специфичните за определено оборудване компоненти само при наличие на такова оборудване (например, обработвачи за смарткарти ще се стартират при поставяне на картата и ще завършват при нейното извличане).

За потребителя се появиха по-гъвкави инструменти за управление на стартирането на услуги, например, за деактивиране на обработвача за мултимедийни клавиши е достатъчно да се изпълни «systemctl —user stop gsd-media-keys.target». В случай на проблеми, свързани с всеки обработвач, логовете могат да бъдат прегледани с командата journalctl (например, «journalctl —user -u gsd-media-keys.service»), след като предварително е включено воденето на отладъчен лог в услугата («Environment=G_MESSAGES_DEBUG=all»). Също така стана възможно стартирането в изолирани sandbox-окружения на всички компоненти на GNOME, които имат повишени изисквания за сигурност.

За да се изглади преходът, поддръжката на стария начин за стартиране на процеси се планира да се запази в течение на няколко цикъла на разработка на GNOME. По-късно разработчиците ще извършат преглед на състоянието на gnome-session и вероятно (означено като «likely») ще премахнат от него средствата за стартиране на процеси и поддръжка на D-Bus API. След това прилагането на «systemd —user» ще бъде преведено в категория задължителни функции, което може да създаде затруднения за системи без systemd и ще изисква подготовка на алтернативно решение, както беше времето с systemd-logind. Въпреки това, в своето изказване на конференцията GUADEC 2019, Бенджамин Берг спомена за намерението да се запази поддръжката на стария метод за стартиране за системи без systemd, но тази информация е несъвместима с плановете за страницата на проекта.

Пуснете видеото

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

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