GNOME нь systemd-ээр удирдагдахаар тохируулагдсан

Бенжамин Берг (Бенжамин Берг), GNOME-г хөгжүүлэхэд оролцсон Red Hat инженерүүдийн нэг, ерөнхийлсөн GNOME-г gnome-session процессыг ашиглахгүйгээр зөвхөн systemd ашиглан сессийн удирдлагад шилжүүлэх ажлын үр дүн.

Энэ нь GNOME руу нэвтрэхийг хянахад нэлээд удаан ашиглагдаж байна. systemd-нэвтрэхХэрэглэгчийн тусгай сессийн төлөвийг хянах, сесс танигчийг удирдах, идэвхтэй сешнүүдийн хооронд шилжих, олон суудалтай орчныг зохицуулах, төхөөрөмжийн хандалтын бодлогыг тохируулах, унтрах, унтах гэх мэт хэрэгслээр хангадаг.

Үүний зэрэгцээ сесстэй холбоотой функцүүдийн нэг хэсэг нь D-Bus-ээр дамжуулан удирдах, дэлгэцийн менежер болон GNOME бүрэлдэхүүн хэсгүүдийг эхлүүлэх, хэрэглэгчийн тодорхойлсон програмуудыг автоматаар ажиллуулах ажлыг зохион байгуулах үүрэгтэй gnome-session процессын мөрөн дээр үлдсэн байв. . GNOME 3.34-ийг хөгжүүлэх явцад gnome сессийн онцлогуудыг системд зориулсан нэгж файл болгон багцалж, "системд - хэрэглэгч" горимд ажиллуулдаг. Бүхэл бүтэн систем биш харин тодорхой хэрэглэгчийн орчинтой холбоотой. Өөрчлөлтүүд 31-р сарын сүүлээр гарах Fedora XNUMX түгээлтэд аль хэдийн хэрэгжсэн.

Systemd-ийг ашиглах нь хүсэлтийн дагуу эсвэл тодорхой үйл явдал тохиолдсон үед зохицуулагчийг ажиллуулах ажлыг зохион байгуулах, мөн GNOME бүрэлдэхүүн хэсгүүдийг эхлүүлэх үед алдаанаас болж үйл явцыг хугацаанаас нь өмнө зогсооход илүү боловсронгуй хариу өгөх, хамаарлыг өргөнөөр зохицуулах боломжтой болсон. Үүний үр дүнд та байнгын ажиллагаатай процессуудын тоог багасгаж, санах ойн зарцуулалтыг бууруулж чадна. Жишээлбэл, XWayland одоо зөвхөн X11 протокол дээр суурилсан програмыг ажиллуулах гэж оролдох үед л эхлүүлэх боломжтой бөгөөд техник хангамжийн тусгай бүрэлдэхүүн хэсгүүдийг зөвхөн ийм техник хангамж байгаа тохиолдолд л эхлүүлэх боломжтой (жишээлбэл, картыг оруулах үед смарт картны зохицуулагчийг ажиллуулж эхэлнэ) устгасан үед дуусгавар болно).

Хэрэглэгчийн хувьд үйлчилгээг эхлүүлэхийг удирдах илүү уян хатан хэрэгслүүд гарч ирэв; жишээлбэл, мультимедиа түлхүүр зохицуулагчийг идэвхгүй болгохын тулд "systemctl -user stop gsd-media-keys.target"-ийг ажиллуулахад хангалттай. Асуудал гарсан тохиолдолд зохицуулагч тус бүртэй холбоотой бүртгэлийг өмнө нь үйлчилгээнд дибаг хийх бүртгэлийг идэвхжүүлсэн ("Орчны орчин=" гэх мэт "journalctl —user -u gsd-media-keys.service") тушаалаар харж болно. G_MESSAGES_DEBUG=бүгд"). Мөн аюулгүй байдлын шаардлага өндөр байгаа тусгаарлагдсан хамгаалагдсан орчинд GNOME-ийн бүх бүрэлдэхүүн хэсгүүдийг ажиллуулах боломжтой.

Шилжилтийг зөөлрүүлэхийн тулд процессын хуучин аргыг дэмжээрэй төлөвлөсөн GNOME хөгжүүлэлтийн олон мөчлөгт үргэлжлэх. Дараа нь хөгжүүлэгчид gnome сессийн төлөвийг хянаж үзээд ("боломжтой" гэж тэмдэглэсэн) процессыг эхлүүлэх, D-Bus API-г хадгалах хэрэгслүүдийг устгах болно. Дараа нь "systemd -user" -ийг ашиглах нь заавал байх ёстой функцүүдийн ангилалд багтах бөгөөд энэ нь системгүй системд хүндрэл учруулж болзошгүй бөгөөд өмнө нь байсан шиг өөр шийдлийг бэлтгэх шаардлагатай болно. systemd-нэвтрэх. Гэсэн хэдий ч Бенжамин Берг GUADEC 2019 дээр хэлсэн үгэндээ системгүй системд зориулсан хуучин эхлүүлэх аргын дэмжлэгийг хадгалах хүсэлтэй байгаагаа дурьдсан боловч энэ мэдээлэл нь төлөвлөгөөтэй зөрчилдөж байна. төслийн хуудас.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх