ไปยังสถานที่ การเปิดตัว kmscon 10.0 ซึ่งเป็นโปรแกรมจำลองเทอร์มินัลที่ออกแบบมาเพื่อทดแทนคอนโซลของเคอร์เนล แทนที่จะใช้ระบบย่อยเคอร์เนล VT นั้น kmscon ใช้ KMS และใช้งานฟังก์ชันที่จำเป็นในพื้นที่ผู้ใช้
แนวทางนี้ช่วยแก้ปัญหาคุณภาพโค้ดต่ำในระบบย่อย vt และการขาดประสบการณ์ในหมู่ผู้ดูแลระบบ ซึ่งทำให้การพัฒนาระบบย่อยนี้ต่อไปแทบเป็นไปไม่ได้
คุณสมบัติของ Kmscon:
- ความสามารถในการกำหนดค่าตัวเลือกทั้งหมดโดยใช้พารามิเตอร์บรรทัดคำสั่งหรือไฟล์การกำหนดค่า
- สามารถระบุอุปกรณ์เอาต์พุตได้ อุปกรณ์ที่รองรับได้แก่ fbdev และ DRM;
- ความสามารถในการตั้งค่าโหมดวิดีโอ (ความละเอียดและการวางแนวหน้าจอ);
- ความสามารถในการตั้งค่าโทนสีแบบกำหนดเอง;
- ความสามารถในการกำหนดค่าการเร่งความเร็วของกราฟิกฮาร์ดแวร์โดยใช้ GLESv2;
- ความสามารถในการปิดหน้าจอโดยอัตโนมัติหลังจากหมดเวลาในกรณีที่ไม่มีการใช้งาน
- รองรับการสลับเซสชันด้วยปุ่มลัด (คล้ายกับเซสชัน VT) โดยค่าเริ่มต้นจำนวนเซสชันสูงสุดคือ 50;
- รองรับการแสดงผลฟอนต์สมัยใหม่ พร้อมการปรับแต่งภาพ (hinting), การลดรอยหยักระดับซับพิกเซล (subpixel antialiasing) และคุณสมบัติอื่นๆ ที่มีให้โดยไลบรารี freetype และ pango นอกจากนี้ยังรองรับฟอนต์ GNU Unifont และฟอนต์มาตรฐานขนาด 8x16 ด้วย และมีการใช้งาน Unicode อย่างสมบูรณ์
- ความสามารถในการกำหนดขนาดตัวอักษร รวมถึงการใช้ปุ่มลัดระหว่างการใช้งาน ซึ่งช่วยแก้ปัญหาการแสดงผลบนจอแสดงผล HiDPI ได้
- การทำงานร่วมกับ libxkbcommon รวมถึงความสามารถในการระบุรุ่นและรูปแบบของแป้นพิมพ์
- รองรับการใช้งานเมาส์ คุณสามารถใช้ได้ทั้งเคอร์เซอร์แบบซอฟต์แวร์และแบบฮาร์ดแวร์
- รองรับการเลื่อนข้อความ (บัฟเฟอร์การเลื่อน) ทั้งผ่านปุ่มลัดและการใช้ล้อเลื่อนของเมาส์ เมื่อใช้เมาส์ คุณสามารถกำหนดค่าการเลื่อนแบบธรรมชาติได้
Какэтоработает
kmscon จะเริ่มต้นทำงานเมื่อระบบเริ่มทำงานในฐานะบริการปกติโดยใช้ระบบ init ของคุณ
หาก kmscon ตรวจพบอุปกรณ์ VT ในระบบ มันจะค้นหาอุปกรณ์ที่ว่างอยู่และจัดสรรให้ วิธีนี้ช่วยให้คุณสามารถสลับไปใช้ kmscon บนระบบมาตรฐาน (ที่เปิดใช้งาน VT) ได้เหมือนกับคอนโซลเคอร์เนลทั่วไปโดยใช้ปุ่มลัด Ctrl+Alt+F .
หากมีบริการใดๆ เช่น getty กำลังทำงานอยู่บนอุปกรณ์ VT ที่คุณต้องการจัดสรรให้กับ kmscon คุณจะต้องหยุดบริการนั้นก่อน การตั้งค่านี้ขึ้นอยู่กับระบบแต่ละระบบ ตัวอย่างเช่น หากใช้ Busybox คุณจะต้องแก้ไขไฟล์ /etc/inittab
หากระบบย่อย VT ไม่ได้เปิดใช้งาน (กล่าวคือ มีการระบุ CONFIG_VT=n ในการตั้งค่าเคอร์เนล ซึ่งเป็นเป้าหมายหลักของการพัฒนา kmscon) kmscon จะเข้าใช้งานอุปกรณ์เอาต์พุตที่ระบุไว้ในการตั้งค่า จากนั้นจะต้องใช้เซสชันภายในของ kmscon เอง
แอปพลิเคชัน GUI เช่น X server จะต้องถูกเรียกใช้งานจากเซสชัน kmscon โดยใช้โปรแกรมพิเศษ kmscon-launch-gui ขั้นตอนนี้จำเป็นเพื่อให้สามารถถ่ายโอนความเป็นเจ้าของทรัพยากรได้อย่างถูกต้อง โดยเฉพาะอย่างยิ่งอุปกรณ์แสดงผล
การเปลี่ยนแปลงในเวอร์ชัน 10.0
- เพิ่มการสร้างไฟล์ฐานข้อมูล terminfo เฉพาะสำหรับ kmscon สามารถตั้งค่าตัวแปรสภาพแวดล้อม TERM=kmscon ได้ทั้งในเชลล์ หรือผ่านอาร์กิวเมนต์ CLI หรือตัวเลือกการกำหนดค่า
- รองรับฟอนต์ที่มีความกว้างแปรผันได้ ไม่ใช่แค่ฟอนต์ที่มีความกว้างคงที่เท่านั้น
- รองรับการเรียกใช้ทรัพยากร (เช่น อุปกรณ์ DRM) ผ่านทาง libseat ซึ่งในที่สุดจะทำให้สามารถเรียกใช้ kmscon ในเซสชันของผู้ใช้ได้ แทนที่จะต้องเรียกใช้ในฐานะ root เท่านั้นเหมือนในปัจจุบัน
ที่มา: linux.org.ru
