在 CentOS 上配置 Compton 的完整步骤
一 环境准备与安装
- 更新系统并启用仓库(CentOS 7 使用 yum,CentOS 8/9 可用 dnf):
- sudo yum update -y 或 sudo dnf update -y
- sudo yum install -y epel-release -y
- 安装 Compton:
- sudo yum install -y compton 或 sudo dnf install -y compton
- 如仓库版本较旧或需要新特性,可从源码编译:
- 安装构建依赖:sudo yum groupinstall -y “Development Tools”
- 安装图形依赖:sudo yum install -y mesa-libGL mesa-libEGL libX11-devel libXext-devel libXrender-devel libXi-devel libXrandr-devel libXinerama-devel libXcursor-devel libXcomposite-devel libXdamage-devel
- 编译安装:
- git clone https://github.com/compton/compton.git
- cd compton && mkdir build && cd build
- cmake … -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
- make -j$(nproc) && sudo make install
- 验证安装:compton --version。
二 配置文件位置与基础示例
- 配置文件路径(优先使用用户级,避免影响全局):
- 用户级:~/.config/compton.conf(不存在则创建)
- 系统级:/etc/xdg/compton.conf(对所有用户生效,需 sudo)
- 快速创建配置并测试:
- mkdir -p ~/.config
- nano ~/.config/compton.conf
- 启动测试:compton -c ~/.config/compton.conf
- 基础配置示例(保存为 ~/.config/compton.conf):
- backend = “glx” # 使用 OpenGL 加速(性能更好)
- vsync = true # 垂直同步,减少撕裂
- shadow = false # 关闭阴影以提升性能(可按需开启)
- opacity = 0.9 # 窗口不透明度(1.0 为不透明)
- inactive-opacity = 0.8 # 非活动窗口不透明度
- shadow-exclude = [ “class_g = ‘Firefox’”, “window_type = ‘dock’”, “window_type = ‘desktop’” ] # 排除不需要阴影的窗口
- 说明:Compton 是 X11 合成器,适用于 Xorg 会话;在 Wayland 会话中通常不可用或需改用其他合成器(如 Mutter/KWin)
三 启动与开机自启
- 手动前台启动(便于排错):compton -c ~/.config/compton.conf
- 使用 systemd 用户服务(推荐,随登录图形会话自动启动):
- 创建服务文件:sudo nano /etc/systemd/system/compton.service
- 写入以下内容(将 your-username 替换为实际用户名;若从源码安装,ExecStart 可能为 /usr/local/bin/compton):
- [Unit]
- Description=Compton Window Compositor
- After=display-manager.service
- [Service]
- Type=simple
- 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
- sudo systemctl enable compton.service --now
- 检查状态:systemctl status compton.service
- 如需全局系统级服务(所有用户),可将 User= 段移除,配置路径改为 /etc/xdg/compton.conf,并将 WantedBy 设为 multi-user.target,但更推荐用户级服务与登录会话绑定。
四 常用优化与多显示器
- 性能优化(老旧或低功耗设备尤需):
- 关闭阴影:shadow = false
- 限制帧率:fps-limit = 60(或按显示器刷新率设置)
- 降低缓存:cache-size = 1024(单位 MB,视内存调整)
- 指定渲染后端:backend = “glx”(需驱动支持 OpenGL;兼容性问题时可改为 “xrender”)
- 排除重负载应用特效:shadow-exclude/opacity-exclude 如 [“class_g = ‘Firefox’”]
- 多显示器:
- 先用 xrandr 确认输出名(如 eDP-1、HDMI-1、DP-1)
- 可按需设置 xrandr-args,例如:
- xrandr-args = “–output HDMI-1 --auto --right-of eDP-1 --output DP-1 --auto --right-of HDMI-1”
- 或在登录后手动执行 xrandr 命令完成扩展/排列,再启动 Compton。
五 故障排查与注意事项
- 查看服务日志:journalctl -u compton.service -e
- 前台调试:compton --config ~/.config/compton.conf --log-level debug(观察终端输出定位问题)
- 确认运行状态:ps -e | grep compton;若无效,先 killall compton 再启动
- 显卡驱动:确保 Intel/AMD/NVIDIA 驱动正确安装并支持 OpenGL(glx 后端依赖)
- 会话类型:Compton 仅适用于 Xorg;若在 Wayland 会话中,请改用桌面自带的合成器或在登录界面切换到 Xorg
- 配置热更新:修改配置后,重启服务或先 killall compton 再启动以生效