GNOME ได้รับการดัดแปลงให้จัดการผ่าน systemd

เบนจามิน เบิร์ก (เบนจามิน เบิร์ก) หนึ่งในวิศวกร Red Hat ที่เกี่ยวข้องกับการพัฒนา GNOME ทั่วไป ผลลัพธ์ของการทำงานในการเปลี่ยน GNOME ไปสู่การจัดการเซสชันโดยใช้ systemd โดยเฉพาะ โดยไม่ต้องใช้กระบวนการ gnome-session

มีการใช้มาระยะหนึ่งแล้วเพื่อควบคุมการเข้าสู่ระบบ GNOME systemd-เข้าสู่ระบบซึ่งติดตามสถานะเซสชันเฉพาะของผู้ใช้ จัดการตัวระบุเซสชัน มีหน้าที่รับผิดชอบในการสลับระหว่างเซสชันที่ใช้งานอยู่ ประสานสภาพแวดล้อมแบบหลายที่นั่ง กำหนดค่านโยบายการเข้าถึงอุปกรณ์ จัดเตรียมเครื่องมือสำหรับการปิดระบบและเข้าสู่โหมดสลีป ฯลฯ

ในเวลาเดียวกัน ส่วนหนึ่งของฟังก์ชันการทำงานที่เกี่ยวข้องกับเซสชันยังคงอยู่บนไหล่ของกระบวนการ gnome-session ซึ่งรับผิดชอบในการจัดการผ่าน D-Bus เปิดตัวตัวจัดการการแสดงผลและส่วนประกอบ GNOME และจัดระเบียบการทำงานอัตโนมัติของแอปพลิเคชันที่ผู้ใช้ระบุ . ในระหว่างการพัฒนา GNOME 3.34 คุณลักษณะเฉพาะเซสชันของ gnome จะถูกรวมเป็นไฟล์หน่วยสำหรับ systemd ซึ่งดำเนินการในโหมด "systemd —ผู้ใช้" เช่น ที่เกี่ยวข้องกับสภาพแวดล้อมของผู้ใช้เฉพาะราย ไม่ใช่ทั้งระบบ การเปลี่ยนแปลงได้ถูกนำมาใช้แล้วในการแจกจ่าย Fedora 31 ซึ่งคาดว่าจะเปิดตัวในปลายเดือนตุลาคม

การใช้ systemd ทำให้สามารถจัดระเบียบการเปิดตัวจัดการตามความต้องการหรือเมื่อมีเหตุการณ์บางอย่างเกิดขึ้น เช่นเดียวกับการตอบสนองที่ซับซ้อนมากขึ้นต่อการยุติกระบวนการก่อนกำหนดอันเนื่องมาจากความล้มเหลว และจัดการการขึ้นต่อกันอย่างกว้างขวางเมื่อเริ่มต้นส่วนประกอบ GNOME เป็นผลให้คุณสามารถลดจำนวนกระบวนการที่ทำงานอย่างต่อเนื่องและลดการใช้หน่วยความจำได้ ตัวอย่างเช่น ขณะนี้ XWayland สามารถเปิดใช้งานได้เมื่อพยายามเรียกใช้แอปพลิเคชันที่ใช้โปรโตคอล X11 เท่านั้น และส่วนประกอบเฉพาะของฮาร์ดแวร์สามารถเปิดใช้งานได้ก็ต่อเมื่อมีฮาร์ดแวร์ดังกล่าวอยู่ (เช่น ตัวจัดการสำหรับสมาร์ทการ์ดจะเริ่มทำงานเมื่อใส่การ์ด และสิ้นสุดเมื่อถอดออก)

เครื่องมือที่มีความยืดหยุ่นมากขึ้นสำหรับการจัดการการเปิดตัวบริการปรากฏขึ้นสำหรับผู้ใช้ ตัวอย่างเช่น หากต้องการปิดใช้งานตัวจัดการคีย์มัลติมีเดีย การดำเนินการ "systemctl -user stop gsd-media-keys.target" ก็เพียงพอแล้ว ในกรณีที่เกิดปัญหา คุณสามารถดูบันทึกที่เกี่ยวข้องกับตัวจัดการแต่ละตัวได้ด้วยคำสั่ง Journalctl (เช่น “journalctl —user -u gsd-media-keys.service”) โดยได้เปิดใช้งานการบันทึกการดีบักในบริการก่อนหน้านี้ (“Environment= G_MESSAGES_DEBUG=ทั้งหมด”) นอกจากนี้ยังสามารถเรียกใช้ส่วนประกอบ GNOME ทั้งหมดในสภาพแวดล้อมแบบแซนด์บ็อกซ์แบบแยกได้ ซึ่งขึ้นอยู่กับข้อกำหนดด้านความปลอดภัยที่เพิ่มขึ้น

เพื่อให้การเปลี่ยนแปลงราบรื่นขึ้น ให้สนับสนุนกระบวนการทำงานแบบเก่า มีการวางแผน ยังคงอยู่ตลอดวงจรการพัฒนา GNOME หลายรอบ ถัดไป นักพัฒนาจะตรวจสอบสถานะเซสชัน gnome และมีแนวโน้มมากที่สุด (ทำเครื่องหมายว่า "น่าจะ") ลบเครื่องมือสำหรับการเรียกใช้กระบวนการและบำรุงรักษา D-Bus API ออกจากกระบวนการ จากนั้นการใช้ "systemd -user" จะถูกลดระดับลงในหมวดหมู่ของฟังก์ชันบังคับ ซึ่งสามารถสร้างปัญหาให้กับระบบที่ไม่มี systemd และจะต้องเตรียมโซลูชันทางเลือก ดังที่เคยเป็นมากับ systemd-เข้าสู่ระบบ. อย่างไรก็ตาม ในสุนทรพจน์ของเขาที่ GUADEC 2019 Benjamin Berg กล่าวถึงความตั้งใจที่จะรักษาการสนับสนุนวิธีการเริ่มต้นระบบแบบเก่าสำหรับระบบที่ไม่มี systemd แต่ข้อมูลนี้ขัดแย้งกับแผนสำหรับ หน้าโครงการ.

ที่มา: opennet.ru

เพิ่มความคิดเห็น