GNOME está adaptado para ser xestionado mediante systemd

Benjamin Berg (Benjamin Berg), un dos enxeñeiros de Red Hat implicados no desenvolvemento de GNOME, xeneralizado resultados do traballo sobre a transición de GNOME á xestión de sesións utilizando exclusivamente systemd, sen utilizar o proceso de sesión de gnome.

Utilizouse durante bastante tempo para controlar o inicio de sesión en GNOME. systemd-login, que rastrexa os estados de sesión específicos do usuario, xestiona os identificadores de sesión, encárgase de cambiar entre sesións activas, coordina os ambientes multiasentos, configura as políticas de acceso ao dispositivo, proporciona ferramentas para apagar e durmir, etc.

Ao mesmo tempo, parte da funcionalidade relacionada coa sesión permaneceu a cargo do proceso de sesión de gnome, que se encargaba de xestionar a través de D-Bus, lanzar o xestor de pantalla e os compoñentes de GNOME e organizar a execución automática das aplicacións especificadas polo usuario. . Durante o desenvolvemento de GNOME 3.34, as funcións específicas da sesión de gnome empaquetanse como ficheiros unitarios para systemd, executados no modo "systemd —user", é dicir. en relación co entorno dun usuario específico, e non con todo o sistema. Os cambios xa foron implementados na distribución Fedora 31, que se espera que se publique a finais de outubro.

O uso de systemd permitiu organizar o lanzamento de controladores baixo demanda ou cando se producen certos eventos, así como responder de forma máis sofisticada á terminación prematura dos procesos debido a fallos e xestionar amplamente as dependencias ao iniciar os compoñentes de GNOME. Como resultado, pode reducir o número de procesos en execución constante e reducir o consumo de memoria. Por exemplo, XWayland só se pode iniciar cando se tenta executar unha aplicación baseada no protocolo X11, e os compoñentes específicos do hardware só se poden iniciar se este hardware está presente (por exemplo, os controladores de tarxetas intelixentes comezarán cando se insira unha tarxeta). e remata cando se elimina).

Apareceron ferramentas máis flexibles para xestionar o lanzamento de servizos para o usuario; por exemplo, para desactivar o manejador de chaves multimedia, bastará con executar "systemctl -user stop gsd-media-keys.target". En caso de problemas, os rexistros asociados a cada controlador pódense ver co comando journalctl (por exemplo, “journalctl —user -u gsd-media-keys.service”), tendo activado previamente o rexistro de depuración no servizo (“Entorno= G_MESSAGES_DEBUG=todos”). Tamén é posible executar todos os compoñentes de GNOME en ambientes sandbox illados, que están suxeitos a maiores requisitos de seguridade.

Para suavizar a transición, compatibilidade coa antiga forma de executar procesos planifícase persistir durante varios ciclos de desenvolvemento de GNOME. A continuación, os desenvolvedores revisarán o estado da sesión de gnome e moi probablemente (marcado como "probable") eliminen as ferramentas para iniciar procesos e manter a API D-Bus. A continuación, o uso de "systemd -user" quedará relegado á categoría de funcións obrigatorias, o que pode xerar dificultades para sistemas sen systemd e requirirá a preparación dunha solución alternativa, como no seu día ocorreu con systemd-login. Non obstante, na súa intervención en GUADEC 2019, Benjamin Berg mencionou a intención de manter o soporte para o antigo método de inicio para sistemas sen systemd, pero esta información está en desacordo cos plans de páxina do proxecto.

Fonte: opennet.ru

Engadir un comentario