GNOME aumentará su dependencia de systemd

Adrian Vovk, creador de la distribución carbonOS con actualización automática y del instalador para GNOME OS, así como uno de los desarrolladores de systemd-homed y systemd-sysupdate, anunció cambios en GNOME que aumentarán la dependencia del proyecto de systemd. En las próximas versiones de GNOME 49 y 50, algunos de los componentes nativos para iniciar la pantalla de inicio de sesión se reemplazarán con las funciones estándar de systemd, lo que requerirá la creación de nuevas capas para implementar GNOME en distribuciones y sistemas operativos que no utilizan systemd. Cabe destacar que la eliminación de código antiguo en favor de las funciones estándar de systemd simplificará el mantenimiento, eliminará las soluciones alternativas del proyecto y permitirá la implementación de funciones adicionales, como guardar y restaurar sesiones.

Desde 2015, GNOME utiliza el gestor de sesiones systemd-logind, que sustituyó a ConsoleKit. Las distribuciones que no son compatibles con systemd utilizan elogind, una versión reducida de logind independiente de systemd, o parches que devuelven la compatibilidad con ConsoleKit. Estas soluciones alternativas para trabajar sin systemd no se tienen en cuenta ni se prueban durante el desarrollo de GNOME, por lo que su funcionalidad depende de desarrolladores externos.

En futuras versiones de GNOME, el gestor de pantalla GDM utilizará además la infraestructura userdb de systemd, reemplazando su propio AccountsService. Ni GNOME ni systemd permiten ejecutar más de una sesión gráfica para el mismo usuario. Sin embargo, GDM puede mostrar varias pantallas de inicio de sesión simultáneamente para ejecutar varias sesiones gráficas, lo cual resulta útil para el acceso remoto a escritorios y en sistemas multiusuario con múltiples monitores y dispositivos de entrada. Esta funcionalidad se implementó en GDM hace 15 años como una solución temporal y no es compatible con el moderno dbus-broker, por lo que se decidió migrar a una nueva implementación que utiliza systemd-userdb para asignar cuentas dinámicamente y ejecutar cada pantalla de inicio de sesión con un único usuario.

Además, se decidió eliminar de GNOME la implementación de su propio gestor de servicios, que se utilizaba en gnome-session como controlador de respaldo para iniciar servicios de GNOME en entornos sin systemd. El gestor de servicios integrado funcionaba para iniciar archivos de escritorio y supervisar el funcionamiento de los servicios asociados. Este gestor de servicios se ha mantenido prácticamente sin cambios durante los últimos 17 años, y la única razón por la que no se eliminó fue su uso en GDM para iniciar la pantalla de inicio de sesión. Tras la configuración de GDM para que usara systemd para iniciar la pantalla de inicio de sesión, el proyecto ya no tenía motivos para mantener su propio gestor de sesiones primitivo, lo que interfiere con la implementación de la capacidad de guardar y restaurar sesiones.

Para simplificar la adaptación a los cambios de las distribuciones que no usan systemd, GNOME 49 añadirá temporalmente la capacidad de iniciar GDM sin userdb usando un usuario fijo gdm-greeter para la primera sesión de inicio de sesión, gdm-greeter-2 para la segunda, etc. En GNOME 50, se planea eliminar dicha capacidad, así como el administrador de servicios integrado, por lo que los desarrolladores de distribuciones sin systemd necesitan urgentemente desarrollar capas para reemplazar systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) y el proceso de líder de sesión que interactúa con el administrador de servicios utilizado en la distribución.

También será necesario un reemplazo para el ejecutable gnome-session-ctl, que coordina las interacciones entre el proceso de inicio de sesión, el servicio D-Bus y systemd. Se debe desarrollar un reemplazo para gnome-session-ctl antes del lanzamiento de GNOME 49.

Fuente: opennet.ru

Añadir un comentario