Ubuntu宽屏显示器只有4:3分辨率问题的解决:用cvt和xrandr命令查看并配置显卡分辨率到1440x900

问题:

不知道怎么回事(可能是自己在显示中间加入了一个二拖一的显示盒子的原因),某台Ubuntu Linux设备(192.168.0.13)的显示分辨率变成了1024*768,结果宽屏显示器上会有很大的一块黑,铺不满。

调节显示器,结果它一会儿往中间调,一会儿往最右边调,分辨率限制了肯定有一大块黑留着。

到系统的"Display"显示配置里面去,发现只有1024*768这样的4:3的分辨率,唯一的16:9的分辨率是848*480,这根本没法用啊。

我记得以前它是16:9的桌面啊(记不太清了,主要很少用它的桌面),但是现在这样用起来很难受,于是寻求解决方法。

解决问题

首先到系统的显示设置里,看有没有合适的分辨率,发现没有。

考虑是不是显卡驱动没有装?如果缺驱动,就用下面命令来安装。

查看和安装驱动

使用下面命令:

复制代码
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

结果sudo ubuntu-drivers devices没有任何显示,看来是没有驱动需要安装了?反而另一台vmware虚拟机会有显示:

复制代码
# 这是另一台设备的显示
sudo ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:00/0000:00:02.0 ==
modalias : pci:v000015ADd00000405sv000015ADsd00000405bc03sc00i00
vendor   : VMware
model    : SVGA II Adapter
manual_install: True
driver   : open-vm-tools-desktop - distro free

对于这台机器,没有什么驱动可以安装的。

使用cvt和xrandr命令行工具设置

xrandr查看显卡显示输出信息

先用xrandr查询当前显卡输出端口和可用模式,执行命令

复制代码
xrandr

显示

复制代码
xrandr
Screen 0: minimum 320 x 200, current 1280 x 768, maximum 16384 x 16384
VGA-1 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
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected 1280x720+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x720_60.00  59.86*
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

可以看到有如下5个显示输出口,现在接的是VGA-1这个接口。VGA-1这个接口分辨率除了800*480,其它三个都是4:3的,不匹配宽屏。这时候就要用cvt来生成自己需要的分辨率

使用cvt命令生成分辨率

比如生成1280 720

复制代码
cvt 1280 720

输出

复制代码
cvt 1280 720
# 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz
Modeline "1280x720_60.00"   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync

比如生成1440 900

复制代码
cvt 1440 900

输出

复制代码
cvt 1440 900
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

这些输出的Modeline后面的部分,就是在xrandr添加配置需要的内容。

使用xrandr添加显示分辨率新模式并应用

添加1280x720_60.00 ,参数用前面cvt获得的Modeline后面的部分:

复制代码
xrandr --newmode "1280x720_60.00"   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync
xrandr --addmode HDMI-1 1280x720_60.00
xrandr --output HDMI-1 --mode 1280x720_60.00

添加1440x900_60.00

后来发现显示器提示最佳分辨率是1440*900,所以最终执行的配置如下:

复制代码
xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
xrandr --addmode VGA-1 1440x900_60.00
xrandr --output VGA-1 --mode 1440x900_60.00

执行完这三条命令,就会发现显示器的分辨率已经调整完毕。在1440*900下显示舒服很多。

确认分辨率调节完毕

这时候再用xrandr看看显示配置,就能看到现在确实在1440x900_60.00 59.89* 分辨率:

复制代码
xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 16384 x 16384
VGA-1 connected primary 1440x900+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
   1440x900_60.00  59.89*

保存配置到文件/etc/X11/xorg.conf.d/99-custom-resolution.conf

将配置保存到文件/etc/X11/xorg.conf.d/99-custom-resolution.conf,直接执行下面命令,就会自动创建文件并写入配置。

复制代码
echo "Section \"Monitor\"
    Identifier \"VGA-1\"
    Modeline \"1440x900_60.00\"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
    Option \"PreferredMode\" \"1440x900_60.00\"
EndSection" | sudo tee -a /etc/X11/xorg.conf.d/99-custom-resolution.conf

这时再去系统的"Display"显示配置里面去,发现已经有了1440x900分辨率的选项。

相关推荐
Fcy64820 小时前
Linux下 进程控制(一) —— 进程的创建、终止和等待
linux·运维·elasticsearch·进程控制·进程创建、终止、等待
万象.1 天前
Linux传输层TCP,UDP相关内容
linux·tcp/ip·udp
耀耀_很无聊1 天前
09_Jenkins安装JDK环境
java·运维·jenkins
MaximusCoder1 天前
等保测评命令——Centos Linux
linux·运维·经验分享·python·安全·centos
万象.1 天前
Linux数据链路层通信原理及报文格式
linux·网络·网络协议
卷Java1 天前
Linux服务器Docker部署OpenClaw:腾讯云/阿里云/VPS安装避坑指南
linux·运维·服务器
原来是猿1 天前
Linux-【动静态库】
linux·运维·服务器
深圳市恒讯科技1 天前
云服务器怎么选?从CPU、内存到IOPS的零基础选型手册
运维·服务器
艾莉丝努力练剑1 天前
【脉脉】AI创作者崛起:掌握核心工具,在AMA互动中共同成长
运维·服务器·c++·人工智能·安全·企业·脉脉
九皇叔叔1 天前
CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)
linux·阿里云·centos