Adrian Vovk, creatore della distribuzione carbonOS a aggiornamento atomico e dell'installer per GNOME OS, nonché uno dei sviluppatori di systemd-homed e systemd-sysupdate, ha annunciato delle modifiche a GNOME che rafforzeranno la dipendenza del progetto da systemd. Nelle future versioni di GNOME 49 e 50, alcuni componenti proprietari per l'avvio della schermata di accesso saranno sostituiti dalle funzionalità standard di systemd, il che richiederà la creazione di nuovi strati per fornire GNOME in distribuzioni e sistemi operativi che non utilizzano systemd. Si osserva che la rimozione del vecchio codice a favore delle funzionalità standard di systemd semplificherà la manutenzione, libererà il progetto da soluzioni temporanee e permetterà di implementare funzionalità aggiuntive come il salvataggio e il ripristino delle sessioni.
Dal 2015, GNOME utilizza il gestore di sessioni systemd-logind, che ha sostituito ConsoleKit. Nelle distribuzioni che non supportano systemd, viene utilizzato elogind, una versione ridotta di logind indipendente da systemd, o patch che ripristinano il supporto per ConsoleKit. Durante lo sviluppo di GNOME, queste soluzioni alternative per funzionare senza systemd non vengono considerate e testate, quindi la loro funzionalità dipende da appassionati esterni.
Nelle future versioni di GNOME, il gestore di accesso GDM utilizzerà anche l'infrastruttura userdb fornita da systemd, che sostituirà il servizio AccountsService. GNOME e systemd in sé non supportano l'avvio di più di una sessione grafica per lo stesso utente. Tuttavia, GDM può visualizzare simultaneamente più schermate di accesso per avviare più sessioni grafiche contemporaneamente, il che è applicato nell'accesso remoto al desktop e in sistemi multiseat con più monitor e dispositivi di input. Questa funzionalità in GDM è stata implementata 15 anni fa come una soluzione temporanea ed è incompatibile con l'attuale dbus-broker, quindi si è deciso di passare a una nuova implementazione che utilizza systemd-userdb per l'assegnazione dinamica degli account e l'avvio di ogni istanza della schermata di accesso sotto un utente unico.
Inoltre, si è deciso di rimuovere da GNOME l'implementazione del proprio gestore di servizi, utilizzato in gnome-session come gestore di riserva per l'avvio dei servizi GNOME in ambienti senza systemd. Il gestore di servizi integrato funzionava a livello di avvio dei file desktop e monitoraggio del funzionamento dei servizi correlati. Questo gestore di servizi non è cambiato molto negli ultimi 17 anni e l'unica ragione per cui non è stato rimosso era il suo utilizzo in GDM per avviare la schermata di accesso. Dopo il passaggio di GDM all'uso di systemd per l'avvio della schermata di accesso, il progetto non ha più ragioni per mantenere il proprio primitivo gestore di sessioni, che ostacola l'implementazione della possibilità di salvare e ripristinare le sessioni.
Per semplificare l'adattamento alle modifiche delle distribuzioni che non utilizzano systemd, in GNOME 49 sarà temporaneamente aggiunta la possibilità di avviare GDM senza userdb utilizzando l'utente fisso gdm-greeter per la prima sessione di accesso, gdm-greeter-2 per la seconda, e così via. In GNOME 50 si prevede di rimuovere tale possibilità, così come il gestore di servizi integrato, quindi i sviluppatori di distribuzioni senza systemd devono urgentemente sviluppare strati per sostituire systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) e il processo di avvio della sessione (session leader) che interagisce con il gestore di servizi utilizzato nella distribuzione.
È necessaria anche la sostituzione del file eseguibile gnome-session-ctl, che coordina l'interazione tra il processo di avvio della sessione, il servizio D-Bus e systemd. La sostituzione di gnome-session-ctl deve essere sviluppata prima del rilascio di GNOME 49.
Fonte: opennet.ru
