ฟีเจอร์ที่เป็นรากฐานสำคัญของการคอมพิวติ้ง PC มากกว่าสี่ทศวรรษกำลังหายไปอย่างเงียบๆ คอนโซลข้อความแบบคลาสสิก 80×25 ที่เคยเป็นมาตรฐานสากลใน DOS, OS/2, FreeBSD และ Linux ไม่สามารถเข้าถึงได้อีกต่อไปในการติดตั้ง Linux สมัยใหม่ การเปลี่ยนแปลงนี้ส่งผลกระทบต่อผู้ที่พยายามรันซอฟต์แวร์เก่าหรือต้องการการแสดงผลที่เชื่อถือได้และสม่ำเสมอที่เป็นเอกลักษณ์ของคอมพิวติ้งยุคแรก
การเปลี่ยนแปลงเกิดขึ้นเมื่อ Linux เปลี่ยนจากโหมดข้อความฮาร์ดแวร์ไปสู่การเรนเดอร์คอนโซลแบบกราฟิก แม้ว่าการเปลี่ยนผ่านนี้จะแก้ปัญหาความเข้ากันได้กับฮาร์ดแวร์ใหม่อย่าง Raspberry Pi และเครื่องที่บูตด้วย UEFI แต่ก็สร้างปัญหาใหม่ที่ทำให้ผู้ใช้หงุดหงิดเมื่อต้องการพฤติกรรมคอนโซลที่คาดเดาได้
ความวุ่นวายของการแสดงผลหลายจอและขนาดที่ไม่สม่ำเสมอ
คอนโซล Linux สมัยใหม่มีพฤติกรรมที่คาดเดาไม่ได้ในการติดตั้งฮาร์ดแวร์ที่แตกต่างกัน ระบบเดียวกันสร้างขนาดตัวอักษรและมิติคอนโซลที่แตกต่างกันขึ้นอยู่กับจอแสดงผลที่เชื่อมต่อ ผู้ใช้ที่มีหลายจอมักพบว่าส่วนหนึ่งของคอนโซลถูกตัดออกหรือยืดเกินกว่าจะใช้งานได้ กระบวนการบูตเองก็วนผ่านความละเอียดและฟอนต์ที่แตกต่างกันหลายแบบ สร้างประสบการณ์ที่กระตุกกระชากและขาดความเสถียรของโหมดข้อความเก่า
สมาชิกชุมชนได้เน้นสถานการณ์จริงที่สิ่งนี้กลายเป็นปัญหา ผู้ใช้คนหนึ่งอธิบายถึงฝันร้ายของการแก้ไขไฟล์การกำหนดค่า SSH เมื่อหกคอลัมน์แรกของข้อความถูกผลักออกจากหน้าจอเนื่องจากปัญหา overscan ที่ไม่สามารถแก้ไขได้ด้วยวิธีแก้ไขแบบดั้งเดิม
ระบบที่ได้รับผลกระทบ:
- เครื่อง boot ด้วย UEFI (ไม่สามารถเข้าถึงโหมดข้อความ VGA ได้)
- แพลตฟอร์ม ARM ( Raspberry Pi และอื่นๆ)
- ระบบปฏิบัติการ Linux รุ่นใหม่ที่ใช้การแสดงผลคอนโซลแบบกราฟิก
- ระบบที่มีการตั้งค่าหน้าจอหลายหน้าจอ
ข้อจำกัดของฮาร์ดแวร์ปิดกั้นวิธีแก้ไขเก่า
วิธีแก้ไขแบบดั้งเดิมที่เคยให้ผู้ใช้บังคับโหมดคอนโซลเฉพาะไม่ทำงานอีกต่อไป ตัวเลือกบูต vga
ล้มเหลวในระบบ UEFI และแพลตฟอร์มที่ไม่ใช่ x86 เทคนิคความละเอียดที่ทำงานกับ GRUB ไร้ประโยชน์ในระบบ ARM ที่ไม่ใช้ GRUB เลย แม้แต่พารามิเตอร์ nomodeset
ที่เคยเป็นทางเลือกสำรองที่เชื่อถือได้ก็กลายเป็นไร้ประสิทธิภาพในฮาร์ดแวร์สมัยใหม่
ความท้าทายทางเทคนิคลึกกว่าการกำหนดค่าซอฟต์แวร์ โหมดข้อความ VGA ดั้งเดิมใช้ glyphs ตัวอักษร 8×16 ในเซลล์ 9×16 ด้วยพิกเซลที่ไม่เป็นสี่เหลี่ยมจัตุรัส สร้างความละเอียดดั้งเดิม 720×400 ที่ยืดเพื่อสร้างอัตราส่วน 4:3 ที่เหมาะสม จอแสดงผล LCD สมัยใหม่ไม่สามารถจำลองเรขาคณิตพิกเซลนี้ได้ ทำให้ความเข้ากันได้ระดับฮาร์ดแวร์ที่แท้จริงเป็นไปไม่ได้หากไม่มีจอภาพ CRT ดั้งเดิม
*โหมดข้อความ VGA: โหมดการแสดงผลฮาร์ดแวร์ที่ตัวอักษรถูกเรนเดอร์โดยตรงโดยการ์ดกราฟิกโดยไม่ใช้ framebuffer ให้การเลื่อนและการอัปเดตข้อความที่รวดเร็วมาก
วิธีแก้ปัญหาที่ใช้ไม่ได้แล้ว:
- ตัวเลือก boot
vga
(ใช้ไม่ได้กับ UEFI/ARM ) - พารามิเตอร์
nomodeset
(ไม่มีประสิทธิภาพกับฮาร์ดแวร์สมัยใหม่) - การตั้งค่าความละเอียดของ GRUB (ไร้ประโยชน์กับระบบ ARM )
- วิธีการสลับ fbcon/vgacon แบบดั้งเดิม
การแลกเปลี่ยนประสิทธิภาพและฟีเจอร์ที่สูญหาย
การเปลี่ยนไปใช้คอนโซลแบบกราฟิกนำมาซึ่งการลดประสิทธิภาพอย่างมีนัยสำคัญ โหมดข้อความฮาร์ดแวร์มีประสิทธิภาพสูงมาก ต้องการเพียงสองไบต์ต่อตัวอักษรและให้การเลื่อนที่เร่งด้วยฮาร์ดแวร์ คอนโซลแบบกราฟิกสมัยใหม่ต้องคัดลอกบัฟเฟอร์หน้าจอทั้งหมดสำหรับการดำเนินการง่ายๆ เช่น การเลื่อน ใช้ทรัพยากร CPU มากกว่ามาก
ผู้ใช้ยังสูญเสียฟีเจอร์ที่ใช้งานได้จริงเช่นฟังก์ชัน console scrollback การผสม shift+page up ที่เคยให้ทบทวนเอาต์พุตก่อนหน้าหยุดทำงานเมื่อประมาณห้าปีที่แล้วเมื่อนักพัฒนาเคอร์เนลลบฟีเจอร์นี้ออก สิ่งนี้บังคับให้ผู้ใช้พึ่งพาโปรแกรมเทอร์มินัลภายนอกหรือยอมรับข้อจำกัดของการเห็นเฉพาะสิ่งที่พอดีกับหน้าจอปัจจุบัน
ข้อมูลจำเพาะของ VGA Text Mode:
- ตารางตัวอักษร: 80×25 ตัวอักษร
- ขนาด Glyph: 8×16 พิกเซลในเซลล์ 9×16
- ความละเอียดดั้งเดิม: 720×400 พิกเซล
- อัตราการรีเฟรช: 70Hz
- อัตราส่วนภาพ: 4:3 (พร้อมพิกเซลที่ยืด)
- การใช้หน่วยความจำ: 2 ไบต์ต่อตัวอักษร
ชุมชนแบ่งแยกเรื่องความจำเป็น
การอภิปรายเผยให้เห็นการแบ่งแยกในชุมชนคอมพิวติ้ง นักพัฒนาบางคนปฏิเสธความปรารถนาสำหรับคอนโซล 80×25 ว่าเป็นความคิดถึง เปรียบเทียบกับการต้องการพอร์ต FireWire หรือเมาส์แบบ serial พวกเขาโต้แย้งว่าเทอร์มินัลแบบกราฟิกสมัยใหม่เสนอความยืดหยุ่นที่ดีกว่าและสามารถปรับขนาดได้อย่างเหมาะสมในเทคโนโลยีการแสดงผลที่แตกต่างกัน
อย่างไรก็ตาม คนอื่นๆ เห็นสิ่งนี้เป็นชั้นนามธรรมอีกชั้นหนึ่งที่แยกผู้ใช้ออกจากการควบคุมฮาร์ดแวร์โดยตรง การสูญเสียแสดงถึงมากกว่าเพียงโหมดการแสดงผล - มันเป็นสัญลักษณ์ของแนวโน้มที่กำลังดำเนินอยู่ของการลบการเข้าถึงระบบระดับต่ำที่เคยให้ผู้ใช้ควบคุมสภาพแวดล้อมคอมพิวติ้งของพวกเขาอย่างสมบูรณ์
นี่ไม่ใช่แค่เรื่องคอนโซล 80x25 ใช่ไหม รู้สึกเหมือนเป็นชั้นนามธรรมอีกชั้นหนึ่งที่ถูกซ้อนระหว่างฉันกับฮาร์ดแวร์จริง
เส้นทางไปข้างหน้า
สำหรับผู้ใช้ที่มุ่งมั่นจะเรียกคืนฟังก์ชันนี้ ตัวเลือกยังคงจำกัดแต่ไม่ใช่เรื่องเป็นไปไม่ได้ บางคนแนะนำให้ใช้วิธีแก้ไขทางเลือกเช่นการผสมผสานเทอร์มินัลอีมูเลเตอร์ cage foot
ซึ่งสามารถให้เลย์เอาต์คอนโซลขนาดคงที่ผ่านซอฟต์แวร์แทนที่จะเป็นโหมดฮาร์ดแวร์ คนอื่นๆ แนะนำให้ติดตามฮาร์ดแวร์เก่าที่ยังรองรับโหมดข้อความ VGA ที่แท้จริง
ผลกระทบที่กว้างขึ้นขยายเกินกว่าความชอบแบบคิดถึง เมื่อฮาร์ดแวร์คอมพิวติ้งยังคงพัฒนาไปจากความเข้ากันได้แบบเก่า ผู้ใช้เผชิญกับการเลือกอย่างต่อเนื่องระหว่างการยอมรับนามธรรมใหม่หรือการรักษาระบบเก่าเพื่อรักษาฟังก์ชันเฉพาะ การอภิปรายคอนโซล 80×25 เน้นความตึงเครียดนี้ระหว่างความก้าวหน้าและการอนุรักษ์ในโลกเทคโนโลยีคอมพิวเตอร์ที่เปลี่ยนแปลงอย่างรวดเร็ว
การหายไปของฟีเจอร์ที่ดูเหมือนง่ายนี้สะท้อนการเปลี่ยนแปลงที่ใหญ่กว่าในวิธีที่ระบบสมัยใหม่สร้างสมดุลระหว่างความเข้ากันได้ ประสิทธิภาพ และการควบคุมของผู้ใช้ แม้ว่าคนน้อยคนอาจเศร้าโศกกับการสูญเสียสวิตช์ IRQ และการกำหนดค่าไดรเวอร์ด้วยตนเอง แต่การลบตัวเลือกการควบคุมการแสดงผลพื้นฐานทำให้เกิดคำถามเกี่ยวกับความสามารถพื้นฐานอื่นๆ ที่อาจหายไปอย่างเงียบๆ ในการอัปเดตในอนาคต
อ้างอิง: I just want an 80×25 console, but that's no longer possible