Compton与Xrandr:屏幕分辨率管理
导读:Compton 与 Xrandr 在屏幕分辨率管理中的分工与协作 核心结论 Compton 是 X11 的窗口合成器,负责窗口阴影、透明度、合成等视觉效果,不直接设置或管理屏幕分辨率。 Xrandr 是 RandR 扩展的官方配置工具,用...
Compton 与 Xrandr 在屏幕分辨率管理中的分工与协作
核心结论
- Compton 是 X11 的窗口合成器,负责窗口阴影、透明度、合成等视觉效果,不直接设置或管理屏幕分辨率。
- Xrandr 是 RandR 扩展的官方配置工具,用于查询并设置显示器的分辨率、刷新率、多显示器位置/镜像/旋转等,是调整分辨率的标准方式。两者可协同工作:用 Xrandr 完成显示布局与分辨率,Compton 负责合成呈现。
用 Xrandr 完成分辨率与多屏布局
- 查看连接与可用模式
- 运行:
xrandr -q,识别输出名(如 eDP1、HDMI-1、DP-1)与当前/可用分辨率。
- 运行:
- 设置分辨率与刷新率
- 单屏示例:
xrandr --output HDMI-1 --mode 1920x1080 --rate 60 - 自动启用并设为主屏:
xrandr --auto --output eDP1 --primary - 关闭某输出:
xrandr --output VGA1 --off - 多屏扩展:
xrandr --output eDP1 --pos 0x0 --mode 1920x1080 --primary --output HDMI-1 --mode 1920x1080 --right-of eDP1 - 旋转/镜像/缩放:
--rotate left/right/normal、--reflect x/y、--scale 1.25x1.25等。
- 单屏示例:
- 添加自定义分辨率(当列表中没有所需模式时)
- 生成模型行:
cvt 1920 1080 60或gtf 1920 1080 60 - 新建并添加模式:
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncxrandr --addmode HDMI-1 "1920x1080_60.00"xrandr --output HDMI-1 --mode "1920x1080_60.00"
- 安全切换建议:在测试新分辨率时,追加
sleep 5 & & xrandr --output HDMI-1 --mode 1920x1080以便超时自动回退。
- 生成模型行:
- 虚拟机场景
- 安装 open-vm-tools 或 VirtualBox Guest Additions 后,可随窗口大小自动调整分辨率,再配合
xrandr微调。
- 安装 open-vm-tools 或 VirtualBox Guest Additions 后,可随窗口大小自动调整分辨率,再配合
Compton 的正确用法与常见误解
- 作用边界
- Compton 不提供分辨率/刷新率/Multihead 布局能力;这些应由 Xrandr 或显示管理器/桌面环境完成。
- 与多显示器的关系
- 在多显示器环境下,Compton 可稳定运行,但需确保显示器的连接与布局已由 Xrandr 正确设置;必要时检查
~/.config/compton.conf中是否有限制多屏表现的选项。
- 在多显示器环境下,Compton 可稳定运行,但需确保显示器的连接与布局已由 Xrandr 正确设置;必要时检查
- 配置与优化要点
- 配置文件常见路径:
~/.config/compton.conf - 常用外观项:
shadow true、background-opacity 0.8、opacity-rule(按窗口规则设置透明度) - 启动方式:登录后执行
compton --config ~/.config/compton.conf,或加入会话自启(如桌面会话的启动脚本)。
- 配置文件常见路径:
- 常见误解纠正
- “用 Compton 改分辨率”是误解;Compton 只能影响合成与视觉效果,分辨率应由 Xrandr 设置。
让设置持久化与故障排查
- 持久化方法
- 登录会话自动执行:将需要的
xrandr命令加入~/.xprofile或~/.xinitrc - 显示管理器启动脚本:在 GDM/KDM/LightDM 的相应启动脚本中执行
xrandr命令 - Xorg 配置:在
/etc/X11/xorg.conf或/etc/X11/xorg.conf.d/*.conf的 Monitor/Device/Screen 段中设置Modeline/PreferredMode等(适用于需要长期固定模式的场景)。
- 登录会话自动执行:将需要的
- 常见问题与处理
- 新分辨率黑屏/超出范围:先用
sleep回退方案测试;必要时调整Modeline参数或使用--scale缩放过渡 - 刷新率未列出:用
cvt/gtf生成并添加带刷新率的模式,再用--rate指定 - 电视过扫:使用
--transform进行修正 - 虚拟机分辨率不随窗口变化:安装并启用 open-vm-tools 或 VirtualBox Guest Additions。
- 新分辨率黑屏/超出范围:先用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Compton与Xrandr:屏幕分辨率管理
本文地址: https://pptw.com/jishu/772687.html
