传统的电脑制造商抱着1366x768分辨率混吃等死多年,笔记本的显示器尺寸本身就小,再加上被浪费掉的上下边框,导致显示面积捉襟见肘,使用体验相当恶劣.
新的制造商入局后,内卷的风终于刮到了显示屏上.然而它们在使用窄边框技术扩大显示面积的同时,也引入了类似于手机的高分屏,在解决了一个问题的同时却制造了更多的问题.
过高的像素密度导致字体显示很小,肉眼几乎无法看清.解决的办法是在系统层面增加一个按倍率缩放UI控件和字体的设置.这个机制通常情况下是可以正常工作的.但是,和手机上相对一致的应用生态不一样,电脑的生态系统中有太多的历史包袱.有些老旧的软件根本就不响应UI缩放的设置,它们的控件尺寸和字体大概是硬编码的.这就造成了这类软件根本无法使用,除非你手边有一个放大镜.Linux的开放性放大了这种混乱,导致我一直受到这个问题的困扰.最终,我决定抛弃所谓的高分屏,将它当成一块普通显示屏来使用.
降低分辨率
我的显示屏硬件分辨率是 2520x1680, 比例近似的分辨率是 1400x900,在该模式下,上下会有黑边,浪费掉将近30个像素的高度.通过计算,等比例缩放后,应该是 1400x933 才比较适合.但是在显示设置中并没有该模式.可以用一个脚本来搞定:
#!/bin/sh
OUTPUT="eDP-1"
MODE_NAME="1400x933_60.00"
if ! xrandr | grep -q "$MODE_NAME"; then
echo "Creating new mode: $MODE_NAME"
xrandr --newmode "$MODE_NAME" 107.25 1400 1480 1624 1848 933 936 946 968 -hsync +vsync
xrandr --addmode "$OUTPUT" "$MODE_NAME"
else
echo "Mode $MODE_NAME already exists."
fi
xrandr --output eDP-1 --mode "1400x933_60.00"
将脚本保存为~/.xprofile,加上执行权限,在登陆系统时自动执行.
在某些系统上,~/.xprofile会被忽略,可以通过 Xorg 配置文件来达到相同的目的:
/etc/X11/xorg.conf.d/10-custom-resolution.conf
Section "Monitor"
Identifier "eDP-1"
# 对应 xrandr --newmode "1400x933_60.00" 107.25 1400 1480 1624 1848 933 936 946 968 -hsync +vsync
Modeline "1400x933_60.00" 107.25 1400 1480 1624 1848 933 936 946 968 -hsync +vsync
# 告诉 Xorg 这个显示器支持此模式,并设为首选(可选,但推荐)
Option "PreferredMode" "1400x933_60.00"
Option "Ignore" "false"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "eDP-1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1400x933_60.00"
EndSubSection
EndSection
自定义GURB启动菜单分辨率:
编辑 /etc/default/grub,使用较低的分辨率:
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep
保存后运行 sudo update-grub2 生效
评论