如何在 CentOS7 中手动配置监视器,通过 KVM 连接?

Dav*_*ave 11 kvm centos resolution monitors display

我有一个全新的 CentOS7 桌面安装和 Gnome 3。

我需要将这台机器与 KVM 一起使用,但由于某种原因,CentOS7 无法通过我拥有的 KVM 检测到我的显示器,因此它默认为 1024x768 分辨率的“未知显示器”(如果我直接连接显示器,一切都会检测到并以更高的分辨率工作到系统)。

如何手动配置东西以便我可以使用更大的分辨率?

我尝试monitors.xml使用新的分辨率进行编辑,但是在重新启动时 CentOS7 拒绝了更改,说它无法检测到,并返回到 1024x768。

Kev*_*ane 17

我在这里找到了解决方案的基础:https : //askubuntu.com/questions/186288/how-to-detect-and-configure-an-output-with-xrandr

在包括 CentOS 在内的现代 Linux 发行版中,xrandr 库负责屏幕分辨率、旋转等。由于您的系统不会自动检测,您必须手动告诉它您的显示器能够使用的模式。

我在 KVM 上遇到了同样的问题,示例输出来自我的计算机:

第1步:

找到您的端口的名称。这将类似于 VGA1、HDMI1 左右。您也许可以从 /var/log/Xorg.0.log 中找到它,或者您可以使用 xrandr 实用程序:

> 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)
Run Code Online (Sandbox Code Playgroud)

我的 KVM 连接到名为 VGA1 的 VGA 端口。因为 KVM 阻止了自动检测,所以 xrandr 只能看到 1024x768 的分辨率。

第2步:

告诉 xrandr 新模式。模式只是附加了视频显示参数的字符串。

步骤 2.1

找到您需要的显示参数。我想要 1600x900 @ 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
Run Code Online (Sandbox Code Playgroud)

步骤 2.2

使用来自 gtf 命令的值使用 xrandr 创建新模式:

> xrandr --newmode "1600x900" 119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync
Run Code Online (Sandbox Code Playgroud)

第一个参数是新模式的名称 - 您实际上可以随意调用它,只需在后续步骤中使用相同的名称。

第 3 步

告诉 xrandr VGA1 理解称为 1600x900 的模式:

> xrandr --addmode VGA1 1600x900
Run Code Online (Sandbox Code Playgroud)

第四步

告诉 xrandr 切换到新模式。

> xrandr --output VGA1 --mode 1600x900
Run Code Online (Sandbox Code Playgroud)

注意:如果你犯了一个错误并且你的显示器实际上不理解新模式,你会得到一个空白屏幕!

如果确实出现空白屏幕,则可以通过盲目键入来恢复:

> xrandr --output VGA1 --mode 1024x768
Run Code Online (Sandbox Code Playgroud)

另一种解决方法是通过 SSH 从另一台计算机连接,并通过 SSH 而不是在控制台上执行此命令。

第 5 步

创建一个自动执行 newmode、addmode 和 output 命令的脚本,因为它们在重新启动期间不会被保留。

  • 很好的答案。但是现在,我可以将命令放在哪里,使其成为启动时的默认值? (2认同)