Ubuntu 上使用 Compton 配置多显示器
一 准备与显示器命名
- 安装 Compton:sudo apt update && sudo apt install compton。
- 识别显示器名称:运行 xrandr --query,在输出中确认各显示器标识(如 eDP-1、HDMI-1、DP-1)。
- 设置多屏布局(扩展/镜像):例如将外接屏放到内置屏右侧
xrandr --output HDMI-1 --auto --right-of eDP-1
如需开机自动应用,可把该命令加入桌面会话的启动脚本(如 ~/.xprofile 或会话自启动脚本)。
二 配置 Compton 支持多屏
- 创建或编辑配置文件:~/.config/compton.conf。
- 关键参数建议:
- 选择渲染后端:backend “glx”(多屏与硬件加速更友好)。
- 指定管理的输出:output “HDMI-1” “eDP-1”(按 xrandr 实际名称填写)。
- 性能与同步:fps-limit 60;vsync true(防撕裂,低延迟需求可关闭)。
- 视觉效果:shadow true;shadow-exclude 排除不需要阴影的窗口(如桌面/终端);若启用背景模糊,建议同时设置 opacity 与 opacity-rule。
- 示例配置(可直接使用并微调):
backend = “glx”;
output = “HDMI-1” “eDP-1”;
vsync = true;
fps-limit = 60;
shadow = true;
shadow-exclude = [“class_g = ‘Desktop’”, “class_g = ‘gnome-terminal’”];
opacity-rule = [“90:class_g = ‘Gnome-terminal’”, “90:class_g = ‘Firefox’”];
说明:Compton 对多屏的管理通常依赖 xrandr 完成布局,Compton 侧通过 output 指定要管理的显示器并优化渲染效果。
三 启动与开机自启
- 手动测试:compton -c ~/.config/compton.conf(或 compton -b 后台运行)。
- 使用 systemd 用户服务(推荐,避免权限与登录会话问题):
- 新建服务文件:/etc/systemd/system/compton.service
[Unit]
Description=Compton Window Composer
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton -c /home/你的用户名/.config/compton.conf
Restart=always
User=你的用户名
[Install]
WantedBy=multi-user.target
- 启用并启动:
sudo systemctl daemon-reload
sudo systemctl enable --now compton
- 验证:systemctl status compton;若修改配置,执行 sudo systemctl restart compton。
四 常见问题与优化
- 副屏黑屏/无信号:检查线缆与接口;确认 xrandr 布局正确;必要时在 Compton 配置中仅管理存在的 output,或先禁用/更换后端测试。
- 窗口错位/跨屏阴影异常:核对 xrandr 中显示器的相对位置;通过 shadow-exclude 排除不需要阴影的窗口类型;必要时降低特效复杂度。
- 性能与卡顿:关闭或降低背景模糊(blur-background);将 fps-limit 设为 60 或更低;使用 backend “glx” 并开启硬件加速相关选项(如 glx-no-stencil、glx-copy-from-front)。
- 刷新率与撕裂:高刷新率显示器建议 vsync true;若对输入延迟敏感,可在测试后关闭 vsync 并配合限帧。
- 不同 DPI/缩放:多屏 DPI 不一致时,优先在系统/驱动层设置缩放;Compton 侧重合成与特效,不建议用其强行做跨屏缩放。