หมุนคอนโซลเมื่อเริ่มต้น (Debian)


11

ฉันต้องการหมุนคอนโซลของฉัน (ไม่ใช่ X Server) 90 องศา (ตามเข็มนาฬิกา)

ดูเหมือนว่าต่อไปนี้จะได้ผลสำหรับฉัน: echo 1 > /sys/class/graphics/fbcon/rotate; อย่างไรก็ตามฉันต้องการใช้ตัวเลือกเคอร์เนลใน Grub แทนที่จะรวมถึงด้านบนใน/etc/rc.localสคริปต์

เอกสาร fbconfbcon=rotate:<n>แสดงตัวเลือกต่อไปนี้ที่สามารถส่งผ่านไปยังเคอร์เนล: น่าเสียดายที่เมื่อฉันแก้ไข/etc/default/grubและแก้ไขGRUB_CMDLINE_LINUXบรรทัดเช่นนี้:

GRUB_CMDLINE_LINUX="fbcon=rotate_all:1"

... มันไม่ทำงาน ฉันก็วิ่งไปupdate-grubก่อนรีบูตเครื่อง

ฉันเคยลองแล้ว:

GRUB_CMDLINE_LINUX="fbconsole=rotate_all:1"

ยังคงไม่มีอะไร. ความคิดใด ๆ


ทำไมคุณไม่ต้องการที่จะแก้ไขrc.local?
Emanuel Berg

คำตอบ:


10

คิดออก คุณอาจต้องเพิ่มvideo=efifbเพื่อให้แน่ใจว่าใช้งานคอนโซลเฟรมเบอรี:

GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"

แก้ไข : ไดรเวอร์efifbออกแบบมาสำหรับเฟิร์มแวร์ EFI เท่านั้นโดยเฉพาะคอมพิวเตอร์ที่ใช้ Intel อย่างไรก็ตามอย่างที่ฉันค้นพบมันใช้ได้กับพีซีที่ไม่ใช่ของ Apple ฉันใช้ไดรเวอร์ nVidia ที่เป็นกรรมสิทธิ์บนระบบ Linux ของฉันและไดรเวอร์ efifb ทำงานได้ค่อนข้างดี ฉันคิดว่ามันใช้งานได้สำหรับฉันเพราะฉันใช้ไดรเวอร์ nVidia และไดรเวอร์ fbdev "เนทีฟ" ขัดแย้งกับมัน

ตามจริงแล้วฉันไม่เข้าใจอย่างเต็มที่ว่าเหตุใดไดรเวอร์ efifb จึงทำงานได้ แต่ถ้ามีคนอื่นทำ (หรือถ้าคุณสามารถทำงานกับไดรเวอร์ framebuffer อื่นที่ติดตั้งไดรเวอร์ nVidia) ได้โปรดแสดงความคิดเห็นด้านล่าง ขอบคุณ!


2
คำเตือนใหญ่: ใช้ได้เฉพาะในกรณีที่เครื่องของคุณมาพร้อมกับ BIOS ที่เปิดใช้งาน EFI
aperezbios

ขอบคุณที่โพสต์โซลูชันของคุณ! หากวิธีนี้แก้ปัญหาให้คุณได้โปรดยอมรับมันเพื่อให้คำถามถูกทำเครื่องหมายเป็นคำตอบ
terdon

@aperezbios - คุณแน่ใจหรือไม่ ฉันค่อนข้างแน่ใจว่าฉันได้เห็นสิ่งนี้ทำงานบนระบบ BIOS ธรรมดา
BMiner

@BMiner +1 ด้วยตัวเลือก "video = efi fb" มันเป็นเหตุผลว่านี่ใช้งานได้กับefi BIOS เท่านั้น อาจมีคำสั่งต่างกันสำหรับ BIOS ที่ไม่ใช่ efi
MariusMatutiae

@MariusMatutiae - แน่นอน video=efifbส่วนหนึ่งไม่จำเป็นถ้าคุณกำลังเรียกใช้เฟิร์มแว BIOS หรือบูตในโหมดความเข้ากันได้ของ BIOS ที่มีเฟิร์มแว EFI แม้ว่ามันอาจจะไม่เจ็บอย่างใดอย่างหนึ่ง เทคนิคการพูดไม่มีสิ่งเช่น "EFI BIOS" เพียงเฟิร์มแวร์ EFI หรือ BIOS เฟิร์มแวร์
BMiner

2

มีความแตกต่างเล็กน้อย แต่สำคัญระหว่างเอกสารและสิ่งที่คุณเขียนในไฟล์ปรับแต่งของคุณ:

…ตัวเลือกต่อไปนี้ที่สามารถส่งผ่านไปยังเคอร์เนล: fbcon = หมุน : <n>

ในขณะที่คุณเขียน

fbcon = rotate_all : 1

rotate_allไม่ใช่คำหลักที่ถูกต้อง หากคุณปล่อย_allส่วนต่อท้ายออกมามันน่าจะใช้ได้

GRUB_CMDLINE_LINUX="fbcon=rotate:1"


เอกสารประกอบ OP ที่เชื่อมโยงไม่พูดถึงrotate_allว่าเป็นชื่อที่ถูกต้องใน/sys/class/graphics/fbconไดเรกทอรี sysfs เป็นเพียงว่าข้อโต้แย้งเคอร์เนลไม่ได้ใช้ชุดคำเดียวกับคุณลักษณะ sysfs
Ben Voigt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.