一、安装Compton
在CentOS上安装Compton前,需先确保系统为最新状态并安装必要依赖。对于CentOS 7及以下版本,使用yum包管理器;CentOS 8及以上版本推荐使用dnf(更高效)。若Compton不在默认仓库中,需先添加EPEL(Extra Packages for Enterprise Linux)仓库:
sudo yum install epel-release -y # CentOS 7
sudo dnf install epel-release -y # CentOS 8+
随后安装Compton:
sudo yum install compton -y # CentOS 7
sudo dnf install compton -y # CentOS 8+
安装完成后,可通过compton --version验证是否安装成功。
二、配置Compton
Compton的主配置文件通常位于用户主目录下的.config/compton.conf(如~/.config/compton.conf)。若文件不存在,可手动创建。以下是常见配置选项及说明:
backend决定Compton的渲染引擎,推荐使用glx(支持OpenGL加速,适用于大多数现代桌面环境,如GNOME、KDE),若遇到兼容性问题可切换为xrender(软件渲染,兼容性更强但性能较低)。backend = "glx"
shadow控制是否显示窗口阴影(true/false),shadow-exclude排除不需要阴影的窗口(如Firefox浏览器,避免遮挡网页内容),shadow-opacity调整阴影透明度(0~1,值越小越透明)。shadow = true
shadow-exclude = ["是", ".*Firefox.*", ".*Chromium.*"]
shadow-opacity = 0.5
opacity控制窗口整体透明度(0~1),alpha-mode设置透明度模式(none表示不使用透明度,color表示基于颜色调整透明度),alpha-ignores排除不需要透明的窗口。opacity = 0.8
alpha-mode = "none"
alpha-ignores = ["是", ".*Firefox.*"]
glx-no-stencil禁用模板缓冲区(减少GPU占用,true为禁用),glx-copy-from-front从前景复制到背景(优化渲染效率,true为启用),vsync开启垂直同步(避免画面撕裂,true为开启),frame-rate限制帧率(如30,减少CPU/GPU负载)。glx-no-stencil = true
glx-copy-from-front = true
vsync = true
frame-rate = 30
xrandr-args传递xrandr参数(如--output HDMI-1 --primary),确保Compton适配多显示器布局。xrandr-args = "--output HDMI-1 --primary"
配置完成后,保存文件并重启Compton使更改生效:killall compton && compton -c ~/.config/compton.conf。
三、启动Compton
compton -c ~/.config/compton.conf
~/.config/autostart/compton.desktop文件,内容如下:[Desktop Entry]
Type=Application
Exec=compton -c ~/.config/compton.conf
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Compton
Comment=Window Compositor
/etc/systemd/system/compton.service,内容如下:[Unit]
Description=Compton Window Composer
After=display-manager.service # 确保在显示管理器启动后运行
[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure # 失败时自动重启
[Install]
WantedBy=multi-user.target # 多用户模式下启动
随后执行以下命令启用并启动服务:sudo systemctl daemon-reload
sudo systemctl enable compton.service
sudo systemctl start compton.service
可通过systemctl status compton.service验证服务状态。四、优化与调试
shadow = false、opacity = 1),降低帧率(frame-rate = 20),或使用cpulimit限制Compton的CPU使用率(如cpulimit -l 50 -p $(pgrep compton),限制为50%)。backend = "xrender")或禁用特定特效(如vsync = false)。compton --verbose命令查看详细日志,定位问题根源(如配置文件语法错误、依赖缺失)。