Compton 与 CentOS 的集成方法
一 环境准备与前提
echo $XDG_SESSION_TYPE 检查当前会话类型。sudo yum update -y,必要时启用 EPEL 仓库(sudo yum install epel-release -y)以获得更多软件包。二 安装 Compton
sudo yum install compton -y(或 sudo dnf install compton -y)。sudo yum groupinstall "Development Tools" -y 与 sudo yum install -y mesa-libGL-devel mesa-libEGL-devel libX11-devel libXext-devel libXinerama-devel libXrandr-devel libXcursor-devel libXdamage-devel libXcomposite-devel。git clone https://github.com/Compton/Compton.gitcd Compton && mkdir build && cd buildcmake .. && make -j$(nproc)sudo make install(默认安装到 /usr/local/bin/compton)。三 配置 Compton
backend = "glx"vsync = trueshadow = trueopacity = 0.95frame-rate = 60xrandr --query 检查输出名(如 HDMI-1、DP-1、eDP-1),按需扩展排列。shadow-exclude = [ "class_g 'Firefox'", "class_g 'Chromium'" ]opacity-rule = [ "100:class_g 'Firefox'", "100:class_g 'Terminal'" ]compton --config ~/.config/compton.confkillall compton && compton --config ~/.config/compton.conf。四 开机自启与系统集成
compton --config ~/.config/compton.conf,随用户登录自动启动,避免与显示管理器冲突。[Unit]
Description=Compton Window ComposerAfter=graphical-session.target[Service]
ExecStart=/usr/local/bin/compton --config %h/.config/compton.confRestart=on-failure[Install]
WantedBy=default.targetsystemctl --user daemon-reload && systemctl --user enable --now compton.service[Unit]
Description=Compton Window ComposerAfter=display-manager.service[Service]
ExecStart=/usr/local/bin/compton --config /etc/compton.confRestart=on-failure[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload && sudo systemctl enable --now compton.servicepgrep -x comptoncompton --versionbackend、vsync 与排除规则。五 常见问题与排错
echo $XDG_SESSION_TYPE 输出为 x11。backend = "glx" 与 vsync = true;若仍异常,可改用 backend = "xrender" 提升兼容性(性能可能下降)。shadow = false)或减少透明与模糊效果;对特定应用使用 shadow-exclude 与 opacity-rule 降低合成开销。glx 后端;如出现闪屏,可尝试关闭 vsync 或改用 xrender。