怎样在Compton中配置多显示器
小樊
38
2025-11-16 11:00:00
Compton 多显示器配置指南
一 核心要点
- Compton 原生支持多显示器,无需特殊开关;关键在于先用 xrandr 正确布局各显示器,再让 Compton 在该 X11 会话中运行即可。
- 显示器的连接名称(如 eDP-1、HDMI-1、DP-1)可通过 xrandr --query 查看;布局完成后再启动 Compton,合成器会自动应用到所有已连接的输出。
二 快速步骤
- 安装 Compton
- Debian/Ubuntu:sudo apt-get update && sudo apt-get install compton
- CentOS/RHEL:sudo yum install -y compton
- 用 xrandr 配置多屏布局(示例)
- xrandr --query(确认输出名)
- xrandr --output HDMI-1 --auto --right-of eDP-1
- xrandr --output DP-1 --auto --right-of HDMI-1
- 创建基础配置文件
- mkdir -p ~/.config && nano ~/.config/compton.conf
- 启动 Compton 测试
- compton -c ~/.config/compton.conf
- 设置开机自启动(任选其一)
- 窗口管理器/会话自启:例如在 Openbox 的 autostart 中加入 Exec=/usr/bin/compton -c ~/.config/compton.conf
- systemd 用户服务:创建 ~/.config/systemd/user/compton.service,内容示例:
[Unit] Description=Compton Compositor After=graphical-session.target
[Service] ExecStart=/usr/bin/compton -c %h/.config/compton.conf Restart=on-failure
[Install] WantedBy=graphical-session.target
然后执行:systemctl --user daemon-reload && systemctl --user enable --now compton
三 配置文件要点
- 选择合成后端:backend = “glx”;(常见且兼容性较好;若出现异常可尝试 xrender)
- 常用性能与渲染项:
- glx-no-stencil = true;(减少不必要的模板操作)
- glx-copy-from-front = true;(在某些驱动/场景下可减少撕裂或提升性能)
- glx-damage = true; damage = true;(基于损伤区域重绘,提升效率)
- 阴影与透明:
- 多屏下建议按需排除不需要阴影的窗口,例如:
shadow-exclude = [ “class_g ‘Desktop’”, “class_g ‘Gnome-terminal’”, “class_g ‘Firefox’” ]; - 若更注重性能,可临时关闭阴影:shadow = false;
- 多显示器与规则:
- 一般无需在配置中逐屏罗列;Compton 会作用于当前 X 会话的所有输出。
- 如需按输出或类做差异化效果,可使用 opacity-rule 等功能进行细粒度控制。
四 常见问题与排查
- 屏幕撕裂或卡顿:尝试切换 backend(glx/xrender)、开启/关闭 vsync、关闭阴影(shadow = false),并确认 glx-damage/damage 为 true。
- 多屏阴影/透明度异常:通过 shadow-exclude 精确排除不需要阴影的窗口或类,减少跨屏合成开销。
- 未生效或只在一块屏上工作:先确认 xrandr 布局已正确(–right-of/–left-of/–above/–below),再重启 Compton;如使用 systemd,注意区分系统级与用户级服务(用户会话请用 --user)。
- 开机未自启:若使用 systemd 用户服务,确保会话目标为 graphical-session.target 并已执行 enable --now;若通过会话自启,确认 autostart 条目已存在且路径正确。