Ändern Sie den Standardmonitor der Linux-Konsole

24

Gibt es eine Möglichkeit anzugeben, auf welchem ​​Monitor die Konsole unter Linux angezeigt wird?

Details:
Ich habe ein 3-Monitor-Setup mit 2 Grafikkarten. Wenn ich den Computer starte, wird das BIOS auf der PCI-Grafikkarte angezeigt (die über einen kleinen Monitor verfügt). Beim Starten von Linux wird die Konsole auf demselben Monitor angezeigt. Gibt es eine Möglichkeit, die Konsolenausgabe auf einem anderen Monitor anzuzeigen? Ich verwende den vesafb-Framebuffer.

Ich sehe in meinem BIOS keine Möglichkeit, die Standard-Grafikkarte zu ändern.

Tim
quelle
1
Ich hatte die gleichen Probleme mit einem Dual-Monitor-Setup (einzelne Grafikkarte). Nach dem Austauschen der Ausgänge habe ich festgestellt, dass das BIOS nur auf dem ersten erkannten Monitor angezeigt wird. Ich bekomme den richtigen Monitor, wenn ich die Stromversorgung zu demjenigen, den das BIOS normalerweise auswählt, trenne oder vollständig unterbreche, aber wenn er angeschlossen ist (auch im Standby-Modus), sendet das BIOS alles an diesen Monitor.
Quack Quijote
Ich hoffte auf ein Kernel-Befehlsflag, mit dem sich die Grafikkarte für die Verbindung auswählte.
Tim
Bitte geben Sie Ihre Version von Linux und Windows Manager an.
Harrymc
4
Ich bin verblüfft über die Antworten und Kommentare, die sich auf X beziehen. Die Frage bezieht sich auf die Konsole, in der sich die Kernel-Nachrichten befinden. GNOME? xrandr? Fenstermanager? Was zum Teufel?
Alan Curry
@AlanCurry: Das passiert, wenn der Beitrag nicht klar genug ist.
Harrymc

Antworten:

7

Ich denke, die Option, nach der wir hier suchen, ist, fbcon=map:nwo ndie dem fb-Gerät zugewiesene Nummer für den gewünschten Videoausgang ist.

Die Dokumentation / fb / fbcon.txt erklärt es und nennt es auch con2fbmapdas Hilfsprogramm, um es zur Laufzeit zu ändern.

Alan Curry
quelle
Ich habe das noch nicht getestet, aber das ist die plausibelste Antwort, die ich finden kann. Ich gebe das Kopfgeld und werde es kommentieren, wenn ich es teste. Alle anderen Antworten scheinen über X zu sprechen, daher ist es offensichtlich nicht so wahrscheinlich, dass sie richtig sind.
Geselle Geek
Ich habe nicht mehr die Hardware, um dies zu testen. Kann jemand bestätigen, dass dies funktioniert?
Tim
@ Tim M: Ich habe es getestet. Es klappt.
beroal
3

Um zu ändern, welche Konsole auf welchem ​​Monitor läuft (Frame Buffer @ / dev / fb x), können Sie dieses kleine C-Programm mit 80 Zeilen herunterladen, mit dem Sie solche Dinge spezifizieren können.

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

Nachdem Sie das heruntergeladen und kompiliert haben, ist es die einfachste Verwendung sudo ./con2fb.out /dev/fb[frame buffer number, starting at 0] /dev/tty[console number, starting at 1].

Dadurch wird das angegebene Terminal an den angegebenen Monitor "gesperrt" (Frame Buffer). Wenn Sie also versuchen, zu einem Terminal zu wechseln, das einem Monitor zugewiesen wurde, wird der Fokus auf dieses Terminal gelegt, anstatt es auf der aktuellen Anzeige zu schalten.

Denken Sie jedoch daran, Frame Buffer! = Physischer Monitor. Jeder Monitor, auf dem Sie ein separates Tty haben möchten, muss an eine separate Grafikkarte angeschlossen sein (also separate Frame-Puffer).

Sie können auch den Kernel zum Absturz bringen, wenn Sie nicht aufpassen. Achten Sie also darauf, dass Sie nicht versuchen, das Programm auszutricksen! ;)

VorsichtJetzt1
quelle
-3

Ich glaube, das hängt vom verwendeten Fenstermanager ab. Zum Beispiel hat Aufklärung die Fähigkeit, sich die Fensterposition zu merken.

Fluxbox unterstützt auch das Speichern von Fensterpositionen und -zuständen.

Ich glaube nicht, dass GNOME dies sofort tun kann, da es ihrer Meinung nach Sache des Anwendungsentwicklers sein sollte, Code zu schreiben, der sich an seinen letzten Status erinnert.

Diese Funktionalität hängt also ab von:

  1. Die Version von Linux, die Sie ausführen
  2. Der von Ihnen verwendete Fenstermanager
  3. Wenn Sie bereit sind, Ihren Fenstermanager auf eine dieser Optionen umzustellen
  4. Und es hängt davon ab, ob diese Fenstermanager von Ihrer bevorzugten Linux-Version unterstützt werden.
grunzte
quelle
1
Das OP spricht von einer virtuellen Konsole, nicht von einem X-Fenster. Wenn Sie über eine Grafikumgebung verfügen, können Sie diese normalerweise mit den Tastenkombinationen Strg + Alt + F1 bis Strg + Alt + F6 aufrufen. (Sie können mit Strg + Alt + F7 zu X zurückkehren).
Daniel H