如何在CentOS上配置Compton
更新系统包
首先更新系统包列表,确保后续安装依赖项时不会出现冲突:
sudo yum update -y # CentOS 7
sudo dnf update -y # CentOS 8/Stream
安装EPEL仓库(可选但推荐)
若Compton未包含在默认仓库中,需安装EPEL(Extra Packages for Enterprise Linux)仓库:
sudo yum install epel-release -y
安装Compton
根据CentOS版本选择包管理器:
sudo yum install compton -y
sudo dnf install compton -y
注意:若仓库中无Compton,需从源码编译安装(参考后续故障排除部分)。
创建/编辑配置文件
Compton的配置文件优先级为:用户级配置 > 系统级配置。推荐在用户目录下创建配置文件(避免影响全局设置):
mkdir -p ~/.config
nano ~/.config/compton.conf
常用配置参数说明
以下是一个优化后的配置示例,涵盖基础效果、视觉效果及性能调整:
# 后端设置(决定合成方式,glx性能更好,xrender兼容性更强)
backend = "glx"
# 阴影设置(调整阴影的偏移、模糊半径及颜色)
shadow = true
shadow-radius = 12
shadow-offset-x = -15
shadow-offset-y = -15
shadow-color = "rgba(0, 0, 0, 0.5)"
shadow-exclude = [ # 排除不需要阴影的窗口(如通知栏、Conky)
"name = 'Notification'",
"class_g = 'Conky'",
"class_g = 'Notify-osd'"
]
# 透明度设置(调整非活动窗口、标题栏的透明度)
inactive-opacity = 0.8
active-opacity = 1.0
frame-opacity = 0.7
opacity-rule = [ # 自定义应用程序透明度(如终端、浏览器)
"90:class_g = 'Alacritty'",
"80:class_g = 'Firefox'"
]
# 淡入淡出效果(开启/关闭及动画速度)
fading = true
fade-delta = 5
fade-in-step = 0.03
fade-out-step = 0.03
fade-exclude = []
# 性能优化(减少GPU/CPU占用)
glx-no-stencil = true
glx-no-rebind-pixmap = true
xrender-sync-fence = true
unredir-if-possible = true # 不重定向静态窗口(如桌面图标),提升性能
应用配置更改
保存配置文件后,重启Compton使设置生效:
pkill compton && compton -b # 停止现有进程并以后台模式启动
提示:若需调试配置,可前台运行Compton查看实时输出:
compton --config ~/.config/compton.conf
创建systemd服务文件
通过systemd管理Compton服务,实现开机自动启动:
sudo nano /etc/systemd/system/compton.service
添加服务配置
将以下内容粘贴到文件中(替换your-username
为实际用户名):
[Unit]
Description=Compton Window Compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton -c /home/your-username/.config/compton.conf
Restart=on-failure
User=your-username
[Install]
WantedBy=multi-user.target
启用并启动服务
sudo systemctl daemon-reload # 重新加载systemd配置
sudo systemctl enable compton # 设置开机自启动
sudo systemctl start compton # 立即启动服务
验证服务状态
检查Compton是否已成功启动:
sudo systemctl status compton
若显示“active (running)”,则表示服务已正常运行。
Compton无法启动
backend
改为wayland
(但Compton对Wayland的支持有限,建议切换至X11)。屏幕撕裂
调整垂直同步设置,尝试以下参数之一:
vsync = "opengl-swc" # 推荐,适用于大多数情况
vsync = "opengl" # 备选
vsync = "drm" # 适用于支持DRM的系统
高CPU使用率
启用性能优化参数,降低GPU负载:
glx-no-stencil = true
glx-no-rebind-pixmap = true
paint-on-overlay = true # 减少渲染层级
特定应用程序显示异常
在shadow-exclude
或opacity-rule
中添加排除规则,例如:
shadow-exclude = [ "class_g = 'YourApp'" ]
opacity-rule = [ "100:class_g = 'YourApp'" ] # 强制设置为不透明
通过以上步骤,你可在CentOS上完成Compton的安装与配置,实现窗口透明、阴影等视觉效果,并根据需求优化性能。