GNOME est adapté pour être géré via systemd

Benjamin Berg (Benjamin Berg), l'un des ingénieurs Red Hat impliqués dans le développement de GNOME, résumé résultats du travail sur la transition de GNOME vers la gestion de session exclusivement en utilisant systemd, sans utiliser le processus gnome-session.

Il est utilisé depuis un certain temps pour contrôler la connexion à GNOME. systemd-login, qui suit les états de session spécifiques à l'utilisateur, gère les identifiants de session, est responsable de la commutation entre les sessions actives, coordonne les environnements multi-sièges, configure les politiques d'accès aux appareils, fournit des outils pour s'arrêter et se mettre en veille, etc.

Dans le même temps, une partie des fonctionnalités liées à la session restait sur les épaules du processus gnome-session, qui était chargé de gérer via D-Bus, de lancer le gestionnaire d'affichage et les composants GNOME et d'organiser l'exécution automatique des applications spécifiées par l'utilisateur. . Lors du développement de GNOME 3.34, les fonctionnalités spécifiques à la session Gnome sont regroupées sous forme de fichiers unitaires pour systemd, exécutés en mode « systemd —user », c'est-à-dire par rapport à l'environnement d'un utilisateur spécifique, et non à l'ensemble du système. Les changements ont déjà été implémentés dans la distribution Fedora 31, dont la sortie est prévue fin octobre.

L'utilisation de systemd a permis d'organiser le lancement de gestionnaires à la demande ou lorsque certains événements se produisent, ainsi que de répondre de manière plus sophistiquée à l'arrêt prématuré des processus en raison de pannes et de gérer de manière approfondie les dépendances lors du démarrage des composants GNOME. En conséquence, vous pouvez réduire le nombre de processus en cours d’exécution en permanence et réduire la consommation de mémoire. Par exemple, XWayland ne peut désormais être lancé que lors d'une tentative d'exécution d'une application basée sur le protocole X11, et les composants spécifiques au matériel ne peuvent être lancés que si ce matériel est présent (par exemple, les gestionnaires de cartes à puce démarrent lorsqu'une carte est insérée et se termine lorsqu'il est supprimé).

Des outils plus flexibles pour gérer le lancement des services sont apparus pour l'utilisateur : par exemple, pour désactiver le gestionnaire de clés multimédia, il suffira d'exécuter « systemctl -user stop gsd-media-keys.target ». En cas de problème, les journaux associés à chaque gestionnaire peuvent être consultés avec la commande journalctl (par exemple, « journalctl —user -u gsd-media-keys.service »), après avoir préalablement activé la journalisation du débogage dans le service (« Environnement= G_MESSAGES_DEBUG=tous"). Il est également possible d'exécuter tous les composants GNOME dans des environnements sandbox isolés, soumis à des exigences de sécurité accrues.

Pour faciliter la transition, prise en charge de l'ancienne façon d'exécuter les processus est prévu persister sur plusieurs cycles de développement GNOME. Ensuite, les développeurs examineront l'état de la session gnome et très probablement (marqués comme « probables ») en supprimeront les outils permettant de lancer des processus et de maintenir l'API D-Bus. L'utilisation de "systemd -user" sera alors reléguée à la catégorie des fonctions obligatoires, ce qui peut créer des difficultés pour les systèmes sans systemd et nécessitera la préparation d'une solution alternative, comme c'était autrefois le cas avec systemd-login. Cependant, dans son discours au GUADEC 2019, Benjamin Berg a mentionné l'intention de maintenir le support de l'ancienne méthode de démarrage pour les systèmes sans systemd, mais cette information est en contradiction avec les projets de page du projet.

Source: opennet.ru

Ajouter un commentaire