谈到调整屏幕分辨率,首先需要厘清两个关键工具各自的分工: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配置时需谨慎,参数设置不当可能导致窗口效果异常(如透明失效、阴影消失)。
