灵活定制Ubuntu显示分辨率策略

安装完系统后,为什么分辨率最高只有 800×600?怎样才能提高显示器的分辨率?很多时候,这些问题都是显示配置没有正确设置造成的。

不少读者在运行 dpkg-reconfigure xserver-xorg 后,重新启动计算机,发现 X Window 只剩下 800×600 和 640×480 两种分辨率,原来正常的 1024×768 反而消失了。

出现这种问题的关键,通常是显示器的水平扫描频率范围和垂直扫描频率范围设置错误。下面总结几种比较灵活的解决方法。

修改 xorg.conf 文件

搞清楚显示器的水平和垂直扫描频率

可以用下面 3 种方法确认显示器支持的频率范围。

  1. 查找显示器说明书,找到水平扫描频率和垂直扫描频率的范围。这是最准确、最直接的方法。
  1. 使用 ddcprobe 命令。
sudo ddcprobe

示例输出:

...
monitorname: Topsonic
monitorrange: 28-49, 43-72
  1. 运行 xvidtune 命令。

在图形界面启动 xvidtune 后,可以使用中间的 8 个按钮调整屏幕的上下左右、高低宽窄,也可以查看显示器的水平和垂直扫描频率范围。

点击这些按钮后,需要再点 Apply 才会生效。如果不放心,可以先点 Test,确认没有问题后再点 Apply

调节满意后,点击 Show 按钮。退出 xvidtune 时,终端窗口中也会显示出显示器的扫描频率范围。把这一行参数复制下来备用。

xvidtune

示例输出:

Vendor: , model:
Num hsync: 1, Num vsync: 1
hsync range 0: 28.00 - 49.00
vsync range 0: 43.00 - 72.00

备份 xorg.conf

修改前先备份配置文件:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

修改 xorg.conf 文件

xorg.conf 文件中添加需要的分辨率和刷新率:

sudo gedit /etc/X11/xorg.conf

找到 Section "Monitor",根据上面获得的水平和垂直扫描频率修改配置,例如:

Section "Monitor"
    Identifier "Topsonic"
    Option "DPMS"
    HorizSync 28-49
    VertRefresh 43-72
EndSection

再找到 Section "Screen",在对应色深的 SubSection "Display" 中加入需要的分辨率:

SubSection "Display"
    Depth 16
    Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection

SubSection "Display"
    Depth 24
    Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection

这里只是加入了原先没有的 1024×768 分辨率,也可以根据自己的需要添加其它显示器支持的分辨率。

其它方法

如果觉得上面的方法仍然比较复杂,可以试试重新配置 Xorg:

sudo dpkg-reconfigure xserver-xorg

按照提示一步一步操作:“尝试显示器自动探测”选择“是” → 选择需要保留的分辨率 → 选择 “Simple”。然后只需要选择显示器尺寸即可,例如我选择的是“17 英寸”,后面的步骤采用默认设置即可。这个方法一般都会奏效。

有了上面的方法,大家就可以比较灵活地定制显示器的分辨率了。

Leave a Reply