เปลี่ยนการตรวจสอบเริ่มต้นของคอนโซล Linux


24

มีวิธีใดบ้างที่จะระบุว่าจอภาพใดที่คอนโซลแสดงอยู่ใน Linux?

รายละเอียด:
ฉันมีการตั้งค่าจอภาพ 3 จอพร้อมการ์ดวิดีโอ 2 อัน เมื่อฉันบูตคอมพิวเตอร์ BIOS จะแสดงบนการ์ดกราฟิก PCI (ซึ่งมีจอภาพขนาดเล็ก) เมื่อเริ่มต้น Linux คอนโซลจะปรากฏบนจอภาพเดียวกัน มีวิธีที่จะมีเอาต์พุตคอนโซลบนจอภาพอื่นหรือไม่? ฉันใช้ vesafb framebuffer

ฉันไม่เห็นวิธีใน BIOS ของฉันที่จะเปลี่ยนการ์ดแสดงผลเริ่มต้น


1
ฉันมีปัญหาเหมือนกันในการตั้งค่าจอภาพสองจอ (การ์ดวิดีโอเดี่ยว); หลังจากสลับเอาต์พุตฉันได้พิจารณาว่า BIOS จะแสดงบนหน้าจอแรกที่ตรวจพบ ฉันได้จอแสดงผลที่ถูกต้องถ้าฉันตัดการเชื่อมต่อหรือตัดการใช้พลังงานอย่างสมบูรณ์ให้กับ BIOS ที่มักจะเลือก แต่ถ้ามันเชื่อมต่อ (แม้ในขณะที่สแตนด์บาย) จากนั้น BIOS จะส่งทุกอย่างไปยังจอภาพนั้น
ต้มตุ๋น quixote

ฉันหวังว่าการตั้งค่าสถานะคำสั่งเคอร์เนลที่จะเลือกการ์ดเชื่อมต่อที่จะ
ทิม

โปรดระบุเวอร์ชันของ Linux และตัวจัดการหน้าต่าง
harrymc

4
ฉันงงกับคำตอบและความคิดเห็นที่อ้างถึง X คำถามคือเกี่ยวกับคอนโซลซึ่งเป็น tty ที่ข้อความเคอร์เนลไป GNOME? xrandr? ผู้จัดการหน้าต่าง อะไรกันเนี่ย?
Alan Curry

@ AlanCurry: นั่นคือสิ่งที่เกิดขึ้นเมื่อโพสต์ไม่ชัดเจนพอ
harrymc

คำตอบ:


7

ฉันคิดว่าตัวเลือกที่เรากำลังมองหาอยู่fbcon=map:nตรงnนี้คือหมายเลขที่กำหนดให้กับอุปกรณ์ fb สำหรับเอาท์พุทวิดีโอที่ต้องการ

เอกสารประกอบ / fb / fbcon.txtอธิบายและยังกล่าวถึงcon2fbmapเป็นยูทิลิตี้สำหรับการเปลี่ยนมันที่รันไทม์


ฉันไม่ได้ทดสอบสิ่งนี้ แต่นี่เป็นคำตอบที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้ ฉันให้ความโปรดปรานนี้และจะแสดงความคิดเห็นเมื่อฉันทดสอบนี้ คำตอบอื่น ๆ ทั้งหมดดูเหมือนจะพูดถึง X ดังนั้นจึงไม่น่าจะถูกต้อง
Journeyman Geek

ฉันไม่มีฮาร์ดแวร์ที่จะทดสอบสิ่งนี้อีกต่อไปทุกคนสามารถยืนยันได้หรือไม่ว่าทำงานได้หรือไม่
ทิม

@Tim M: ฉันทดสอบแล้ว มันได้ผล.
beroal

3

สำหรับการเปลี่ยนแปลงสิ่งที่คอนโซลทำงานบนจอภาพใด (frame buffer @ / dev / fb x) คุณสามารถดาวน์โหลดโปรแกรม C ขนาดเล็กแปดสิบบรรทัดที่อนุญาตให้คุณระบุสิ่งต่าง ๆ

wget https://raw.githubusercontent.com/kunguz/pi3b/master/con2fb.c
gcc con2fb.c -o con2fb.out

sudo ./con2fb.out /dev/fb[frame buffer number, starting at 0] /dev/tty[console number, starting at 1]หลังจากที่คุณได้ดาวน์โหลดและเรียบเรียงนั้นก็ใช้งานง่ายที่สุดคือ

สิ่งนี้จะ "ล็อค" เทอร์มินัลที่ระบุไปยังมอนิเตอร์ที่ระบุ (บัฟเฟอร์เฟรม) ดังนั้นเมื่อคุณลองและเปลี่ยนเป็นเทอร์มินัลที่ได้รับมอบหมายให้มอนิเตอร์มันจะให้ความสำคัญกับเทอร์มินัลนั้นแทนการเปลี่ยนมันบนจอแสดงผลปัจจุบัน

โปรดจำไว้ว่า frame buffer! แต่ละจอภาพที่คุณต้องการแยก tty บนจะต้องเสียบเข้ากับการ์ดกราฟิกแยกต่างหาก (ดังนั้นบัฟเฟอร์เฟรมแยกต่างหาก)

นอกจากนี้คุณยังสามารถพังเคอร์เนลได้ถ้าคุณไม่ระวังดังนั้นระวังอย่าพยายามหลอกโปรแกรม! ;)


-3

ฉันเชื่อว่าสิ่งนี้จะขึ้นอยู่กับโปรแกรมจัดการหน้าต่างที่คุณใช้ ตัวอย่างเช่นการตรัสรู้ มีความสามารถในการจำตำแหน่งหน้าต่าง

Fluxboxยังรองรับการบันทึกตำแหน่งและสถานะหน้าต่าง

ฉันไม่เชื่อว่า GNOME สามารถทำสิ่งนี้ได้เพราะพวกเขาเชื่อว่าควรขึ้นอยู่กับผู้พัฒนาแอปพลิเคชันเพื่อเขียนโค้ดที่สามารถจำสถานะสุดท้ายได้

ดังนั้นการมีฟังก์ชั่นนี้ขึ้นอยู่กับ:

  1. รุ่นของ linux ที่คุณใช้งานอยู่
  2. เครื่องมือจัดการหน้าต่างที่คุณใช้
  3. หากคุณยินดีที่จะลองเปลี่ยนผู้จัดการหน้าต่างของคุณเป็นหนึ่งในเหล่านี้
  4. และขึ้นอยู่กับว่าตัวจัดการหน้าต่างเหล่านี้ได้รับการสนับสนุนจากรสชาติที่คุณโปรดปรานของ linux หรือไม่

1
OP กำลังพูดถึงคอนโซลเสมือนไม่ใช่หน้าต่าง X หากคุณมีสภาพแวดล้อมแบบกราฟิกมักจะพบสิ่งนี้ได้โดยใช้ ctrl + alt + F1 ถึง ctrl + alt + F6 (คุณสามารถกลับไปที่ X ด้วย ctrl + alt + F7)
Daniel H
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.