温馨提示×

Compton配置如何适配不同显示器

小樊
51
2025-09-27 00:44:21
栏目: 编程语言

Compton配置适配不同显示器的步骤与关键设置

1. 前置准备:安装Compton

确保系统已安装Compton(若未安装,可通过包管理器安装,例如Debian/Ubuntu使用sudo apt-get install compton,CentOS使用sudo yum install compton)。

2. 创建/编辑Compton配置文件

Compton的主配置文件通常位于~/.config/compton.conf(若不存在,可手动创建)。使用文本编辑器(如nano)打开文件:
nano ~/.config/compton.conf

3. 配置多显示器基础设置

3.1 确认显示器布局(必做)

使用xrandr --query命令查看当前显示器名称(如HDMI-1DP-1eDP-1)及连接状态。确保显示器已通过xrandr正确配置(例如扩展模式):
xrandr --output HDMI-1 --auto --right-of eDP-1(将HDMI-1设为eDP-1右侧的扩展屏)。

3.2 指定多显示器映射(可选但推荐)

compton.conf中添加xrandr-output参数,将显示器名称与Compton的渲染目标关联(避免显示器顺序混乱):

xrandr-output "HDMI-1" "eDP-1";
xrandr-output "DP-1" "HDMI-1";

此配置表示:HDMI-1显示器作为主屏,DP-1显示器作为HDMI-1的扩展屏。

4. 关键参数调整(适配多显示器场景)

4.1 后端选择(影响性能与兼容性)

设置backendglx(推荐,支持硬件加速,适合多显示器)或wayland(若使用Wayland显示协议):

backend = "glx";

避免使用xrender(性能较差,不推荐多显示器)。

4.2 关闭Xinerama兼容(解决多屏撕裂/延迟)

若使用glx后端,建议禁用disable-xinerama(默认值为false,无需额外设置);若使用x11后端,需显式关闭:

disable-xinerama = true;

此设置可避免多显示器下的画面撕裂或合成延迟。

4.3 阴影与透明度优化(避免视觉干扰)

  • 排除特定窗口的阴影:多显示器下,桌面、终端等窗口的阴影可能影响视觉一致性,通过shadow-exclude参数排除:
    shadow-exclude = [
        "class_g = 'Desktop'",
        "class_g = 'Gnome-terminal'",
        "class_g = 'Firefox'"
    ];
    
  • 调整透明度规则:为不同窗口设置透明度(如浏览器、编辑器),避免过度透明影响多显示器内容的辨识度:
    opacity-rule = [
        "class_g = 'Firefox', opacity = 0.9;",
        "class_g = 'GIMP', opacity = 0.8;"
    ];
    

5. 启动与验证Compton

5.1 手动启动Compton

使用配置文件启动Compton,验证多显示器设置是否生效:
compton -c ~/.config/compton.conf

5.2 设置开机自启动

创建systemd服务文件(/etc/systemd/system/compton.service),内容如下:

[Unit]
Description=Compton Compositor
After=display-manager.service

[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl enable compton.service
sudo systemctl start compton.service

通过systemctl status compton.service检查Compton运行状态(显示“active (running)”则表示成功)。

注意事项

  • 不同桌面环境(如GNOME、KDE)或发行版(如Ubuntu、Fedora)可能需要调整xrandr命令或Compton参数(如backend选择)。
  • 若出现多显示器同步问题(如画面撕裂),可尝试调整vsync参数(设为true启用垂直同步)或更换GLX版本(如glx-version = "4.1")。
  • 复杂多显示器配置(如混合分辨率、不同方向)可能需要额外的xrandr命令或Compton高级参数(如transform),建议参考Compton官方文档。

0