GNOME, systemd aracılığıyla yönetilecek şekilde uyarlanmıştır

Benjamin Berg (Benjamin Berg), GNOME'un geliştirilmesinde yer alan Red Hat mühendislerinden biri, derlenmiş gnome-session sürecini kullanmadan, yalnızca systemd kullanarak GNOME'u oturum yönetimine geçirme çalışmalarının sonuçları.

Bir süredir GNOME'a girişi kontrol etmek için kullanılıyor. systemd-logindkullanıcıya özel oturum durumlarını izleyen, oturum tanımlayıcılarını yöneten, etkin oturumlar arasında geçiş yapmaktan sorumludur, çok kullanıcılı ortamları koordine eder, cihaz erişim politikalarını yapılandırır, kapatma ve uyku moduna geçme araçları sağlar, vb. .

Aynı zamanda, oturumla ilgili işlevselliğin bir kısmı, D-Bus aracılığıyla yönetmekten, ekran yöneticisini ve GNOME bileşenlerini başlatmaktan ve kullanıcı tarafından belirlenen uygulamaların otomatik çalıştırılmasını organize etmekten sorumlu olan gnome-session sürecinin omuzlarında kaldı. . GNOME 3.34'ün geliştirilmesi sırasında, gnome oturumuna özgü özellikler, systemd için birim dosyaları olarak paketlenir ve "systemd —kullanıcı" modunda yürütülür; sistemin tamamıyla değil, belirli bir kullanıcının ortamıyla ilgili olarak. Değişiklikler, Ekim ayı sonunda piyasaya sürülmesi beklenen Fedora 31 dağıtımına zaten uygulandı.

Systemd'nin kullanılması, talep üzerine veya belirli olaylar meydana geldiğinde işleyicilerin başlatılmasını organize etmeyi, ayrıca arızalar nedeniyle süreçlerin zamanından önce sonlandırılmasına daha karmaşık bir şekilde yanıt vermeyi ve GNOME bileşenlerini başlatırken bağımlılıkları kapsamlı bir şekilde ele almayı mümkün kıldı. Sonuç olarak sürekli çalışan işlemlerin sayısını azaltabilir ve bellek tüketimini azaltabilirsiniz. Örneğin, XWayland artık yalnızca X11 protokolüne dayalı bir uygulamayı çalıştırmaya çalışırken başlatılabiliyor ve donanıma özgü bileşenler yalnızca bu tür bir donanım mevcutsa başlatılabiliyor (örneğin, akıllı kart işleyicileri bir kart takıldığında başlayacak) ve kaldırıldığında sonlandırılır).

Kullanıcı için hizmetlerin başlatılmasını yönetmek için daha esnek araçlar ortaya çıktı; örneğin, multimedya anahtar işleyicisini devre dışı bırakmak için "systemctl -user stop gsd-media-keys.target" komutunu çalıştırmak yeterli olacaktır. Sorun olması durumunda, her bir işleyiciyle ilişkili günlükler, daha önce hizmette hata ayıklama günlüğünü etkinleştirdikten sonra (örneğin, "journalctl —user -u gsd-media-keys.service") Journalctl komutuyla görüntülenebilir ("Environment= G_MESSAGES_DEBUG=tümü"). Ayrıca tüm GNOME bileşenlerini, artan güvenlik gereksinimlerine tabi olan yalıtılmış sanal alan ortamlarında çalıştırmak da mümkündür.

Geçişi kolaylaştırmak için süreçlerin eski çalışma yöntemine destek planlı birden fazla GNOME geliştirme döngüsü boyunca devam eder. Daha sonra, geliştiriciler gnome oturumu durumunu inceleyecek ve büyük olasılıkla ("olası" olarak işaretlenmiştir) süreçleri başlatmak ve D-Bus API'sini sürdürmek için gerekli araçları kaldıracaktır. Daha sonra "systemd -user" kullanımı zorunlu işlevler kategorisine düşecek, bu durum systemd olmayan sistemler için zorluk yaratabilecek ve bir zamanlar olduğu gibi alternatif bir çözüm hazırlanmasını gerektirecektir. systemd-logind. Ancak Benjamin Berg, GUADEC 2019'da yaptığı konuşmada, systemd olmayan sistemler için eski başlangıç ​​yöntemine verilen desteğin sürdürülme niyetinden bahsetti ancak bu bilgi, planlarla çelişiyor. proje sayfası.

Kaynak: opennet.ru

Yorum ekle