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 上遇到了同样的问题,示例输出来自我的计算机:
找到您的端口的名称。这将类似于 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 的分辨率。
告诉 xrandr 新模式。模式只是附加了视频显示参数的字符串。
找到您需要的显示参数。我想要 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)
使用来自 gtf 命令的值使用 xrandr 创建新模式:
> xrandr --newmode "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
Run Code Online (Sandbox Code Playgroud)
第一个参数是新模式的名称 - 您实际上可以随意调用它,只需在后续步骤中使用相同的名称。
告诉 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 而不是在控制台上执行此命令。
创建一个自动执行 newmode、addmode 和 output 命令的脚本,因为它们在重新启动期间不会被保留。