利用 xrandr 命令修改屏幕分辨率
电脑外接着一个 23‘ 的显示器,分辨率为 1920*1080。
操作系统:archlinux 6.5
今天,通过 Setting->Displays 中选择外接屏的分辨率时,发现最大只有 1024×768,并且外接屏显示 “Unknown Displays”,被狗日了。。。。。
解决方案
解决办法主要是给这个 “Unknown Displays” 设置一个 1920*1080 的选项,下面借助 xrandr 命令来实现。
先查看两个屏幕支持的分辨率情况
在终端输入 xrandr:
执行 xrandr
Screen 0: minimum 8 x 8, current 1366 x 1536, maximum 32767 x 32767 LVDS1 connected primary 1366x768+0+768 (normal left inverted right x axis y axis) 290mm x 160mm 1366x768 60.02*+ 40.01 1280x720 59.86 60.00 59.74 1024x768 60.00 1024x576 60.00 59.90 59.82 960x540 60.00 59.63 59.82 800x600 60.32 56.25 864x486 60.00 59.92 59.57 640x480 59.94 720x405 59.51 60.00 58.99 680x384 60.00 640x360 59.84 59.32 60.00 DP1 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) HDMI3 disconnected (normal left inverted right x axis y axis) VGA1 connected 1024x768+188+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)
上面显示了两个屏幕分辨率选项,后面标示 * 即为屏幕当前分辨率
这里显示好几个接口:eDP1, DP1, HDMI1, DP2, HDMI2, VIRTUAL1,但是只有 eDP1 和 DP2 有连接,并且 DP2 对应我们外接屏(这个值后面会用到!)
利用 cvt 新建一个 modeline
代码如下:
执行 cvt 1920 1080
1、然后屏幕上会返回两行内容,赋值第二行中 ‘Modeline’ 后面的所有内容,并接到下面 xrandr --newmode 后面:
执行 xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
执行 xrandr --addmode VGA1 "1920x1080_60.00"
其中 ”VGA1“ 即上面展示的外接端口,不用的接口这个名字可能不同,以上面 xrandr 的显示结果为准。
之后,再进入 Setting->Displays, 发现那个 “Unknown Display” 的分辨率中,有了 “1920x1080” 这个选项,选中它,并 Apply 即可。
来源:CSDN
作者:伯尔顿
链接:https://blog.csdn.net/qq_37904849/article/details/104032577