GNOME 將增加對 systemd 的依賴

Adrian Vovk 是原子更新版 carbonOS 發行版和 GNOME 作業系統安裝程式的創建者,同時也是 systemd-homed 和 systemd-sysupdate 的開發者之一。他宣布對 GNOME 進行一些更改,這將增加該專案對 systemd 的依賴。在即將發布的 GNOME 49 和 50 版本中,一些用於啟動登入畫面的原生元件將被替換為標準的 systemd 功能,這將需要建立新的層級,以便在不使用 systemd 的發行版和作業系統中提供 GNOME。需要指出的是,刪除舊程式碼並採用標準的 systemd 功能將簡化維護工作,使專案擺脫各種變通方法,並允許實現其他功能,例如保存和復原會話。

自 2015 年起,GNOME 開始使用 systemd-logind 會話管理器,該管理器取代了 ConsoleKit。不支援 systemd 的發行版會使用 elogind(一個獨立於 systemd 的精簡版 logind)或支援 ConsoleKit 的補丁程式。 GNOME 的開發過程中並未考慮或測試此類不使用 systemd 的變通方法,因此其功能依賴第三方愛好者。

在 GNOME 的未來版本中,GDM 顯示管理器將額外使用 systemd 提供的 userdb 基礎架構,以取代其自身的 AccountsService。 GNOME 和 systemd 本身不支援為相同使用者執行多個圖形會話。但是,GDM 可以同時顯示多個登入畫面以運行多個圖形會話,這對於遠端桌面存取以及具有多個顯示器和輸入裝置的多座席系統非常有用。此功能於 15 年前在 GDM 中作為臨時解決方案實現,並且與現代 dbus-broker 不相容,因此決定遷移到使用 systemd-userdb 動態分配帳戶並在唯一用戶下運行每個登入畫面實例的新實現。

此外,GNOME 還決定移除其自帶的服務管理器實現,該管理器在 gnome-session 中用作在無 systemd 環境下啟動 GNOME 服務的後備處理程序。內建的服務管理員功能主要為啟動桌面檔案並監控與其關聯服務的運作。該服務管理器在過去 17 年中幾乎沒有變化,唯一未被移除的原因是它在 GDM 中用於啟動登入畫面。在將 GDM 切換為使用 systemd 啟動登入畫面後,專案不再需要支援其自帶的原始會話管理器,因為這會幹擾儲存和復原會話功能的實作。

為了簡化不使用 systemd 的發行版對變更的適應,GNOME 49 會暫時新增不使用 userdb 啟動 GDM 的功能,第一個登入工作階段使用固定使用者 gdm-greeter,第二個登入工作階段使用 gdm-greeter-2,等等。在 GNOME 50 中,計劃刪除此功能以及內建服務管理器,因此沒有 systemd 的發行版的開發人員迫切需要開發層來替換 systemd-userdb(io.systemd.Multiplexer、userdb Varlink API)以及與發行版中使用的服務管理器交互的會話領導程序。

gnome-session-ctl 可執行檔的替代品也需要開發,該程式負責協調會話啟動程序、D-Bus 服務和 systemd 之間的互動。 gnome-session-ctl 的替代品應該在 GNOME 49 發布之前開發完成。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster