利用 xrandr 命令修改屏幕分辨率

作者: accepting | 来源:发表于2016-07-21 20:09 被阅读2829次

    问题背景


    • 电脑外接着一个 23‘ 的显示器,分辨率为 1920*1080
    • 操作系统: ubuntu 14.04

    今天,通过 Setting->Displays 中选择外接屏的分辨率时,发现最大只有 1024×768,并且外接屏显示 “Unknown Displays”,日了狗了。。。

    解决方案


    解决办法主要是给这个 "Unknown Displays" 设置一个 1920*1080 的选项,下面借助 xrandr 命令来实现。

    先查看两个屏幕支持的分辨率情况


    在终端输入 xrandr

    $ xrandr
    Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 32767 x 32767
    eDP1 connected primary 1366x768+0+312 (normal left inverted right x axis y axis) 309mm x 173mm
    1366x768      60.1*+
    1360x768      59.8    60.0
    1024x768      60.0
    800x600        60.3    56.2
    640x480        59.9
    DP1 disconnected (normal left inverted right x axis y axis)
    HDMI1 disconnected (normal left inverted right x axis y axis)
    DP2 connected 1024x768 (normal left inverted right x axis y axis) 0mm x 0mm
    1024x768      60.0*
    800x600        60.3    56.2
    848x480        60.0
    640x480        59.9
    HDMI2 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    注释:

    • 上面显示了两个屏幕分辨率选项,后面标示 * 即为屏幕当前分辨率
    • 这里显示好几个接口:eDP1, DP1, HDMI1, DP2, HDMI2, VIRTUAL1,但是只有 eDP1 和 DP2 有连接,并且 DP2 对应我们外接屏(这个值后面会用到!)

    利用 cvt 新建一个 modeline


    代码如下:

    $ cvt 1920 1080
    

    然后屏幕上会返回两行内容,赋值第二行中 'Modeline' 后面的所有内容,并接到下面 xrandr --newmode 后面:

    $ xrandr --newmode "1920x1080_60.00" 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    $ xrandr --addmode DP2 "1920x1080_60.00"
    

    其中 ”DP2“ 即上面展示的外接端口,不用的接口这个名字可能不同,比如有的会是 VGA1,以上面 xrandr 的显示结果为准。

    之后,再进入 Setting->Displays, 发现那个 “Unknown Display” 的分辨率中,有了 "1920x1080" 这个选项,选中它,并 Apply 即可。或者调用以下命令

    $ xrandr --output DP2 --mode "1920x1080_60.00"
    

    相关文章

      网友评论

        本文标题:利用 xrandr 命令修改屏幕分辨率

        本文链接:https://www.haomeiwen.com/subject/gnavjttx.html