说到屏幕分辨率调整,首先要理清两个工具的角色:Compton(现在逐渐被Picom取代)是个轻量级窗口合成器,主要负责窗口透明、阴影这些视觉效果,它本身不直接干分辨率调整的活;而xrandr是X Window系统的官方显示配置工具,管理显示器的分辨率、刷新率、多屏布局这些核心参数,是Linux下调分辨率的主力军。两者有关联吗?Compton的配置能通过间接参数影响显示效果,但真要调整分辨率,还得靠xrandr来完成。

一、使用xrandr命令行调整分辨率(核心方法)
xrandr是个灵活的工具,大多数Linux发行版(比如Ubuntu、Fedora、Arch)都能用。下面一步步来看怎么做。
1. 查看当前显示状态
终端里敲xrandr,输出会列出所有连接的显示器(像eDP-1代表内置屏幕、HDMI-1代表外接HDMI显示器)以及它们支持的分辨率列表。当前用的分辨率会标上*+,比如1920x1080 60.02*+。
2. 设置已有分辨率
如果想要的分辨率已经在xrandr列表里,直接指定输出设备和分辨率就成:
xrandr --output eDP-1 --mode 1920x1080
这条命令把eDP-1的分辨率切换到1920x1080。
3. 添加并设置新分辨率(解决无合适分辨率问题)
要是列表里没有你要的分辨率(比如2560x1440),就需要手动加一下:
- 先用
cvt命令生成对应分辨率的Modeline(参数是宽度、高度、刷新率,比如2560x1440@60Hz):
输出类似这样:cvt 2560 1440 60Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync - 然后把新模式添加到显示器:复制
Modeline后面的内容(去掉Modeline和引号),用xrandr --newmode创建模式,再通过xrandr --addmode关联到显示器:xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync xrandr --addmode eDP-1 2560x1440_60.00 - 启用新分辨率:
万一新分辨率显示异常,可以追加xrandr --output eDP-1 --mode 2560x1440_60.00sleep 5 && xrandr --output eDP-1 --mode 1920x1080,这样5秒后自动切回原分辨率,避免困在无效模式里。
4. 多屏布局设置(可选)
如果接了两个屏幕,xrandr也能搞定位置调整:
xrandr --output HDMI-1 --auto --right-of eDP-1 # 把HDMI-1放在eDP-1右侧
xrandr --output HDMI-1 --auto --left-of eDP-1 # 左对齐
还可以设置屏幕旋转,比如横向:
xrandr --output HDMI-1 --rotate left
二、通过图形界面调整分辨率(简单方法)
不想用命令行的话,大多数现代Linux桌面环境(比如GNOME、KDE Plasma、XFCE)都提供了图形化工具:
- GNOME:点击桌面右上角系统菜单 → “设置” → “显示”,在“分辨率”下拉菜单里选择就行(推荐选“原生”或“推荐”)。
- KDE Plasma:点击系统菜单 → “系统设置” → “显示和监视器”,在“分辨率”选项里调整。
- XFCE:桌面右键 → “显示设置”,在“分辨率”列表里挑一个。
三、Compton的间接影响配置(非分辨率调整)
虽然Compton不直接调分辨率,但通过修改它的配置文件(通常在~/.config/compton.conf或/etc/compton.conf),可以优化显示效果。例如:
- 调整DPI(间接影响显示密度):加一行
downscale-dpi = 96(标准DPI是96,可以根据屏幕实际情况调,比如120)。 - 设置合成器后端:如果用Wayland,可以把
backend = "glx"改成backend = "wayland"(需要系统支持)。
改完之后要重启Compton才能生效:killall compton && compton。
四、永久保存分辨率设置(避免重启失效)
想每次开机自动应用分辨率设置,可以把xrandr命令添加到启动脚本里:
- 对于用
.xprofile的发行版(比如Ubuntu),编辑~/.xprofile文件,添加xrandr命令:xrandr --output eDP-1 --mode 1920x1080 - 对于用
.xinitrc的发行版(比如Arch),编辑~/.xinitrc文件,在exec命令前加上xrandr命令。
注意事项
- 分辨率一定要跟显示器的物理分辨率匹配,否则画面可能模糊、拉伸甚至显示不出来。
- 添加新分辨率之前,最好用
cvt生成正确的Modeline,避免手动输入出错。 - 如果图形界面加载不了,优先用xrandr命令行调整(可以进虚拟终端,比如按
Ctrl+Alt+F2)。 - Compton的配置要小心改,参数不对可能导致窗口效果异常(比如透明失效、阴影消失)。