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

问题背景

  • 电脑外接着一个 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 即可。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值