xwindow设置默认分辨率

上一篇讲到了startx启动xwindow时会读取~/.xinitrc配置文件。但是有个问题,i3启动之后,分辨率太高导致字体太小,根本看不清楚。

我刚开始的做法是,当进入i3后,执行命令

1
xrandr

看看一共有多少种分辨率。然后执行命令

1
xrandr -s 8

一直切换分辨率,直到找到凑合的分辨率。前提是我的虚拟机支持xrandr的VNC服务器。这里的8指代分辨率的编号,编号从0开始算起。虽然这么做可以暂时解决分辨率的问题,但每次进入xwindow都要执行一次这个命令,有够麻烦。于是我就在Arch的wiki里找解决方法。

我在Xorg的章节中找到了解决方法,因为虚拟机里win10系统的推荐分辨率是1280x800,所以Arch的分辨率我仍然选择1280x800。

首先,创建一个新的配置文件,/etc/X11/xorg.conf.d/10-monitor.conf

将下列代码加入到上述配置文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Section "Monitor"
Identifier "Monitor0"
EndSection

Section "Device"
Identifier "Device0"
Driver "vesa"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x800" #关键在于这行
EndSubSection
EndSection

注意,是1280x800,而不是1280*800。乘号是小写的x,而不是*。保存之后,再次执行startx后,全屏显示,默认分辨率就变成了1280x800了。再次执行xrandr,可以观察到最大分辨率变成了1280x800。其实以上这段代码并没有将默认分辨率调整到1280x800,只是将其设置成了最大分辨率。可以看到执行xrandr时会有一句提示

xrandr: Failed to get size of gamma for output default

在没有找到默认分辨率的情况下,系统会选择最大分辨率作为默认分辨率。我尝试了很多种配置,依然无法指定默认分辨率。所以只能以这种方法退而求其次了。

avatar

chilihotpot

You Are The JavaScript In My HTML