GNOME tizimga qaramlikni oshirish uchun

GNOME OS uchun atomik yangilangan carbonOS tarqatuvchisi va oʻrnatuvchisi yaratuvchisi, shuningdek, systemd-homed va systemd-sysupdate dasturchilaridan biri Adrian Vovk GNOME-ga loyihaning systemd-ga bogʻliqligini oshiradigan oʻzgarishlarni eʼlon qildi. Yaqinlashib kelayotgan GNOME 49 va 50 nashrlarida login ekranini ishga tushirish uchun ba'zi mahalliy komponentlar standart tizim imkoniyatlari bilan almashtiriladi, bu esa GNOME ni distribyutorlarda va systemd ishlatmaydigan operatsion tizimlarda yetkazib berish uchun yangi qatlamlarni yaratishni talab qiladi. Qayd etilishicha, eski kodni standart tizim imkoniyatlari foydasiga olib tashlash texnik xizmat ko‘rsatishni soddalashtiradi, loyihani vaqtinchalik yechimlardan xalos qiladi va seanslarni saqlash va tiklash kabi qo‘shimcha funksiyalarni amalga oshirish imkonini beradi.

2015 yildan beri GNOME ConsoleKit o'rnini bosgan systemd-logind seans menejeridan foydalanmoqda. Systemd-ni qo'llab-quvvatlamaydigan tarqatishlar elogind, tizimga bog'liq bo'lmagan logindning qisqartirilgan versiyasi yoki ConsoleKit-ni qo'llab-quvvatlovchi yamoqlardan foydalanadi. GNOME-ni ishlab chiqishda tizimsiz ishlash uchun bunday vaqtinchalik echimlar hisobga olinmaydi yoki sinovdan o'tkazilmaydi, shuning uchun ularning funksionalligi uchinchi tomon ishqibozlariga bog'liq.

GNOME ning kelgusi versiyalarida GDM displey menejeri o'zining AccountsService o'rnini bosgan holda systemd tomonidan taqdim etilgan userdb infratuzilmasidan qo'shimcha ravishda foydalanadi. GNOME va systemd o'zlari bir foydalanuvchi uchun bir nechta grafik seansni ishga tushirishni qo'llab-quvvatlamaydi. Biroq, GDM bir nechta grafik seanslarni bajarish uchun bir vaqtning o'zida bir nechta kirish ekranlarini ko'rsatishi mumkin, bu uzoqdan ish stoliga kirish va bir nechta monitor va kiritish qurilmalari bo'lgan ko'p o'rindiqli tizimlarda foydalidir. Bu funksiya GDM da 15 yil avval vaqtinchalik yechim sifatida joriy qilingan va zamonaviy dbus-broker bilan mos kelmaydi, shuning uchun hisoblarni dinamik ravishda taqsimlash va har bir kirish ekrani nusxasini noyob foydalanuvchi ostida ishga tushirish uchun systemd-userdb dan foydalanadigan yangi dasturga o‘tishga qaror qilindi.

Bundan tashqari, GNOME-dan tizimsiz muhitda GNOME xizmatlarini ishga tushirish uchun qayta ishlovchi sifatida gnome-sessiyada foydalanilgan o'zining xizmat menejerini amalga oshirishni olib tashlashga qaror qilindi. O'rnatilgan xizmat menejeri ish stoli fayllarini ishga tushirish va ular bilan bog'liq xizmatlarning ishini kuzatish darajasida ishladi. Ushbu xizmat menejeri so'nggi 17 yil davomida deyarli o'zgarmadi va uning o'chirilmaganining yagona sababi kirish ekranini ishga tushirish uchun GDM-da foydalanish edi. Kirish ekranini ishga tushirish uchun GDM-ni systemd-dan foydalanishga o'tkazgandan so'ng, loyiha seanslarni saqlash va tiklash qobiliyatini amalga oshirishga xalaqit beradigan o'zining ibtidoiy seans menejerini qo'llab-quvvatlash uchun hech qanday sabab yo'q edi.

Tizimdan foydalanmaydigan tarqatishlarning o'zgarishlarga moslashishini soddalashtirish uchun GNOME 49 birinchi kirish seansi uchun sobit foydalanuvchi gdm-greeter, ikkinchisi uchun gdm-greeter-2 va boshqalar yordamida GDM-ni userdbsiz ishga tushirish imkoniyatini vaqtincha qo'shadi. zudlik bilan systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) va tarqatishda foydalaniladigan xizmat menejeri bilan o'zaro aloqada bo'lgan sessiya rahbari jarayonini almashtirish uchun qatlamlarni ishlab chiqish kerak.

Seansni ishga tushirish jarayoni, D-Bus xizmati va systemd o'rtasidagi o'zaro aloqalarni muvofiqlashtiruvchi gnome-session-ctl bajariladigan faylni almashtirish ham kerak bo'ladi. GNOME 49 chiqarilishidan oldin gnome-session-ctl o'rniga ishlab chiqilishi kerak.

Manba: opennet.ru

a Izoh qo'shish