在 CentOS 上自定义 Compton 的完整步骤
一 安装与准备
sudo yum install compton;在 CentOS 8/9 使用 DNF 安装:sudo dnf install compton。安装完成后可用 compton --version 验证可执行文件是否存在。若提示找不到命令,请确认已安装并在 PATH 中可用。建议同时安装 xorg-x11-server-Xorg 等基础 X11 组件,以确保合成器正常工作。二 创建与编辑配置文件
mkdir -p ~/.config
nano ~/.config/compton.conf
# 基本
backend = "glx"
vsync = true
shadow = true
# 阴影样式
shadow-radius = 6
shadow-offset-x = 2
shadow-offset-y = 2
shadow-opacity = 0.45
# 淡入淡出
fade = true
fade-delta = 10
# 排除规则(示例:终端与通知类窗口无阴影)
shadow-exclude = [
"class_g = 'gnome-terminal-server'",
"class_g = 'konsole'",
"class_g = 'notify-osd'",
"class_g = 'notification-daemon'"
]
# GLX 优化
glx-no-stencil = true
glx-copy-from-front = false
glx-damage = true
# 不透明度规则(示例:让 Firefox 标题栏更透明)
opacity-rule = [
"90:class_g = 'firefox' && window_type = 'normal' && !override_redirect"
]
说明:
backend = "glx" 通常较 xrender 有更好的性能与兼容性(取决于驱动)。shadow-exclude 与 opacity-rule 使用窗口的 class_g、title、window_type 等匹配规则,可按应用精细化控制。三 启动与开机自启
killall compton 2>/dev/null
compton --config ~/.config/compton.conf &
compton --config ~/.config/compton.conf &
nano ~/.config/systemd/user/compton.service--user 与用户级环境变量):[Unit]
Description=Compton Window Composer
After=graphical-session.target
[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=always
Environment=DISPLAY=:0
[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now compton.service
[Unit] 中加入 After=display-manager.service,然后用 sudo systemctl enable --now compton 管理。使用 systemd 时,务必确保 DISPLAY 与 XAUTHORITY 正确,否则合成器无法连接 X 会话。四 常用参数与优化建议
shadow = falsefade = falsebackend = "glx" 并开启 glx-damage = truevsync(true/false)以平衡撕裂与输入延迟shadow-radius、shadow-offset-x/y、shadow-opacity 获得更自然的阴影opacity-rule 为特定应用设置不透明度blur-background(注意性能开销)ps -e | grep comptonjournalctl --user -u compton.service -b(用户级)或 journalctl -u compton.service -b(系统级)