GNOME está adaptado para ser administrado vía systemd

Benjamín Berg (Benjamín Berg), uno de los ingenieros de Red Hat involucrados en el desarrollo de GNOME, resumido resultados del trabajo en la transición de GNOME a la gestión de sesiones utilizando exclusivamente systemd, sin utilizar el proceso gnome-session.

Se ha utilizado durante bastante tiempo para controlar el inicio de sesión en GNOME. systemd-inicio de sesión, que rastrea los estados de sesión específicos del usuario, administra identificadores de sesión, es responsable de cambiar entre sesiones activas, coordina entornos de múltiples puestos, configura políticas de acceso a dispositivos, proporciona herramientas para apagar e ir a dormir, etc.

Al mismo tiempo, parte de la funcionalidad relacionada con la sesión permaneció sobre los hombros del proceso gnome-session, que era responsable de administrar a través de D-Bus, iniciar el administrador de pantalla y los componentes de GNOME y organizar la ejecución automática de aplicaciones especificadas por el usuario. . Durante el desarrollo de GNOME 3.34, las características específicas de la sesión de gnome se empaquetan como archivos unitarios para systemd, ejecutados en modo “systemd —user”, es decir. en relación con el entorno de un usuario específico, y no con el sistema completo. Los cambios ya se implementaron en la distribución Fedora 31, cuyo lanzamiento se espera para finales de octubre.

El uso de systemd hizo posible organizar el lanzamiento de controladores a pedido o cuando ocurren ciertos eventos, así como responder de manera más sofisticada a la terminación prematura de procesos debido a fallas y manejar ampliamente las dependencias al iniciar componentes de GNOME. Como resultado, puede reducir la cantidad de procesos en ejecución constante y reducir el consumo de memoria. Por ejemplo, ahora XWayland solo se puede iniciar al intentar ejecutar una aplicación basada en el protocolo X11, y los componentes específicos del hardware solo se pueden iniciar si dicho hardware está presente (por ejemplo, los controladores para tarjetas inteligentes se iniciarán cuando se inserte una tarjeta). y finalizará cuando se elimine).

Han aparecido para el usuario herramientas más flexibles para gestionar el inicio de servicios, por ejemplo, para desactivar el controlador de claves multimedia, bastará con ejecutar "systemctl -user stop gsd-media-keys.target". En caso de problemas, los registros asociados a cada controlador se pueden ver con el comando journalctl (por ejemplo, “journalctl —user -u gsd-media-keys.service”), habiendo habilitado previamente el registro de depuración en el servicio (“Environment= G_MESSAGES_DEBUG=todos”). También es posible ejecutar todos los componentes de GNOME en entornos sandbox aislados, que están sujetos a mayores requisitos de seguridad.

Para facilitar la transición, soporte para la antigua forma de ejecutar procesos. planeado persisten durante múltiples ciclos de desarrollo de GNOME. A continuación, los desarrolladores revisarán el estado de la sesión de gnome y lo más probable (marcado como "probable") eliminarán las herramientas para iniciar procesos y mantener la API D-Bus. Entonces, el uso de "systemd -user" quedará relegado a la categoría de funciones obligatorias, lo que puede crear dificultades para los sistemas sin systemd y requerirá la preparación de una solución alternativa, como alguna vez fue el caso con systemd-inicio de sesión. Sin embargo, en su discurso en GUADEC 2019, Benjamin Berg mencionó la intención de mantener el soporte para el antiguo método de inicio para sistemas sin systemd, pero esta información contradice los planes para página del proyecto.

Fuente: opennet.ru

Añadir un comentario