Wie konfiguriere ich einen Monitor in CentOS7, der über KVM angeschlossen ist, manuell?


9

Ich habe eine neue Desktop-Installation von CentOS7 mit Gnome 3.

Ich muss dieses Gerät mit einer KVM verwenden, aber aus irgendeinem Grund kann CentOS7 meinen Monitor nicht über die KVM erkennen, die ich habe. Daher wird standardmäßig "Unbekannte Anzeige" mit einer Auflösung von 1024 x 768 verwendet (alles erkennt und funktioniert mit höheren Auflösungen, wenn ich den Monitor direkt anschließe zum System).

Wie kann ich Dinge manuell konfigurieren, um größere Auflösungen verwenden zu können?

Ich habe versucht, monitors.xmlmit einer neuen Auflösung zu bearbeiten , aber beim Neustart lehnte CentOS7 die Änderung ab und sagte, sie könne nicht erkannt werden, und kehrte zu 1024 x 768 zurück.

Antworten:


14

Die Basis der Lösung habe ich hier gefunden: /ubuntu/186288/how-to-detect-and-configure-an-output-with-xrandr

In modernen Linux-Distributionen, einschließlich CentOS, ist die xrandr-Bibliothek für Dinge wie Bildschirmauflösung, Rotation usw. verantwortlich. Da Ihr System nicht automatisch erkennt, müssen Sie es manuell über den Modus informieren, den Ihr Monitor unterstützt.

Ich hatte das gleiche Problem mit einer KVM und die Beispielausgabe erfolgt von meinem Computer:

Schritt 1:

Suchen Sie den Namen Ihres Ports. Dies wird so etwas wie VGA1, HDMI1 oder so sein. Sie können es möglicherweise unter /var/log/Xorg.0.log finden oder das Dienstprogramm xrandr verwenden:

> xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Mein KVM ist mit dem VGA-Port VGA1 verbunden. Da die KVM die automatische Erkennung blockiert, hat xrandr nur die Auflösung 1024 x 768 gesehen.

Schritt 2:

Erzählen Sie xrandr von dem neuen Modus. Modi sind einfach Zeichenfolgen, denen Videoanzeigeparameter zugeordnet sind.

Schritt 2.1

Finden Sie die gewünschten Anzeigeparameter. Ich wollte 1600x900 bei 60 Hz:

> gtf 1600 900 60 -x
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
  Modeline "1600x900_60.00"  119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Schritt 2.2

Erstellen Sie den neuen Modus mit xrandr mit den Werten aus dem Befehl gtf:

> xrandr --newmode "1600x900" 119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Der erste Parameter ist der Name des neuen Modus. Sie können ihn auch so nennen, wie Sie möchten. Verwenden Sie in den folgenden Schritten einfach denselben Namen.

Schritt 3

Sagen Sie xrandr, dass VGA1 den Modus 1600x900 versteht:

> xrandr --addmode VGA1 1600x900

Schritt 4

Weisen Sie xrandr an, in den neuen Modus zu wechseln.

> xrandr --output VGA1 --mode 1600x900

Hinweis: Wenn Sie einen Fehler gemacht haben und Ihr Monitor den neuen Modus nicht wirklich versteht, wird ein leerer Bildschirm angezeigt!

Wenn Sie einen leeren Bildschirm erhalten, können Sie sich wahrscheinlich erholen, indem Sie blind eingeben:

> xrandr --output VGA1 --mode 1024x768

Eine andere Möglichkeit besteht darin, eine Verbindung von einem anderen Computer über SSH herzustellen und diesen Befehl über SSH anstatt auf der Konsole auszuführen.

Schritt 5

Erstellen Sie ein Skript, das die Befehle newmode, addmode und output automatisiert, da sie bei einem Neustart nicht beibehalten werden.


1
Dies ist genau richtig - ein seltenes Juwel an Informationen zur Verwendung von xrandr. Tausend positive Stimmen für Sie, Sir.
Paul

1
Hat auch für mich gearbeitet. Auf CentOS 7.
Mohammad Yaseen

2
Gute Antwort. Aber wo kann ich jetzt die Befehle ablegen, damit sie beim Start zum Standard werden?
Mivk

@SteliosAdamantidis Ja. Beachten Sie Schritt 5, der dieses Problem beheben sollte.
Kevin Keane

1

Ich hatte ungefähr die gleiche Situation und die obige Antwort ist eine der vollständigeren Erklärungen, wie man das behebt, aber ich musste noch eine Stufe weiter gehen, um mein 32 "Samsung in 2560x1440 rendern zu lassen.

gtf ist die oben verwendete Methode, um die Timings abzurufen, was meistens funktioniert, aber ich würde mir keinen Modus für 2560x1440 zulegen. Ich habe das Programm cvt mit dem Schalter -r verwendet (dafür erforderlich und nicht für CRTS geeignet, nur Geräte, die ohne Austastung leben können).

~% cvt -r  2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync

Dieser Timing-Modus, der anstelle der oben von gtf angegebenen Informationen verwendet wurde, wirkte wie ein Zauber. Ich wünschte immer noch, ich könnte dafür sorgen, dass dies in das X11System "eingebrannt" wird, aber ich habe das Skript erstellt, um es zu erstellen, hinzuzufügen und dann in den Modus zu wechseln, damit es großartig funktioniert.

Und meine alternden Augen lieben den riesigen Monitor. Nichts geht über das Übermaß hinaus ...

(Skript für den Modus Hinzufügen und Umschalten folgt)

 #!/bin/bash
 # Used to get timing: cvt -r  2560 1440 60
xrandr --newmode  "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI1 "25 60x1440R"
xrandr --output HDMI1 --mode "2560x1440R"

1

Ich stimme zu, dass dies fast die Lösung ist. Dadurch wurde mein Bildschirm in die richtige Auflösung gebracht.

$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Jedoch mit zwei großen schwarzen Spalten auf der linken und rechten Seite des Bildschirms. Ich denke eine Art Overscan.

Also musste ich einige Werte suchen, die beim Booten von xorg.log aufgenommen wurden.

$ grep 1080 /var/log/Xorg.0.log
[  2316.000] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)

Nachdem ich die cvt-Werte durch die Werte Xorg.0.log ersetzt hatte, erhielt ich das richtige Bildschirmlayout.

$ xrandr --newmode "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync

0

Nachdem ich ein paar wertvolle Stunden damit verbracht hatte, die oben genannten und andere "Lösungen" auszuprobieren, stieß ich auf Folgendes:

http://elrepo.org/tiki/kernel-ml


Da Links in der Regel veraltet sind und sterben, werden Nur-Link-Antworten hier nicht als sehr hilfreich angesehen. Vielleicht könnten Sie in Ihrer Antwort detailliert darauf eingehen, was Sie tatsächlich getan haben, um das Problem zu lösen, und gleichzeitig auf Ressourcen verweisen, die Ihnen dabei geholfen haben. Auf diese Weise sehen Benutzer dieser Website die Antwort direkt, auch wenn der andere Link nicht mehr angezeigt wird.
Eric Renouf
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.