CentOS环境下Compton配置技巧
首先确保系统更新至最新状态,再通过包管理器安装Compton:
sudo yum update -y && sudo yum install -y comptonsudo dnf update -y && sudo dnf install -y comptonCompton的配置文件优先级为:
~/.config/compton.conf(推荐,不影响其他用户)/etc/xdg/compton.conf(全局配置,需root权限)mkdir -p ~/.config/ && touch ~/.config/compton.conf以下是一个兼顾性能与视觉效果的配置模板,可根据需求调整:
# 后端选择(glx/glx-no-stencil/gl.render,优先选glx以启用GPU加速) backend = "glx" # 阴影设置(关闭可提升性能) shadow = true shadow-radius = 12 shadow-offset-x = -15 shadow-offset-y = -15 shadow-opacity = 0.75 shadow-exclude = [ # 排除不需要阴影的窗口(如通知栏、Conky) "name = 'Notification'", "class_g = 'Conky'", "class_g = 'Cairo-clock'" ] # 透明度设置 inactive-opacity = 0.8 # 非活动窗口透明度 active-opacity = 1.0 # 活动窗口透明度 frame-opacity = 0.7 # 窗口边框透明度 # 淡入淡出效果(关闭可减少CPU占用) fading = true fade-delta = 5 fade-in-step = 0.03 fade-out-step = 0.03 # 性能优化 vsync = "opengl-swc" # 垂直同步,避免屏幕撕裂 frame-rate-limit = 60 # 限制帧率(根据显示器刷新率调整) paint-on-overlay = true # 减少渲染层级,提升性能 shadow = false、opacity = false,可显著降低资源消耗。frame-rate-limit限制帧率(如60),避免高帧率导致的CPU占用过高。vsync = "opengl-swc"(或"opengl"、"drm"),防止屏幕撕裂,同时减少GPU负载。backend = "glx",并安装对应显卡驱动(如NVIDIA专有驱动),提升渲染性能。shadow-exclude或opacity-rule排除资源占用高的应用(如Firefox、Conky),避免不必要的特效计算。若使用多显示器,需通过xrandr确认显示器名称(如HDMI-1、DP-1),然后在配置文件中添加xrandr-args参数,例如:
xrandr --output HDMI-1 --auto --right-of eDP-1 # 先用xrandr配置好多显示器布局 在compton.conf中添加:
xrandr-args = "--output HDMI-1 --auto --right-of eDP-1" 确保Compton适配多显示器配置。
创建Systemd服务文件,实现Compton开机自动运行:
sudo nano /etc/systemd/system/compton.service 添加以下内容(替换为你的配置文件路径):
[Unit] Description=Compton Window Composer After=display-manager.service # 确保在显示管理器启动后运行 [Service] ExecStart=/usr/bin/compton --config ~/.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 compton --config ~/.config/compton.confsystemctl status compton.servicepkill compton && compton -b(-b表示后台运行)vsync参数(如vsync = "opengl-swc"),或尝试不同的同步方式。frame-rate-limit = 30)、开启paint-on-overlay,或切换后端为xrender(牺牲部分特效换取性能)。shadow-exclude或opacity-rule中,例如:opacity-rule = ["90:class_g = 'Alacritty'", "80:class_g = 'URxvt'"] # 设置终端透明度 shadow-exclude = ["class_g = 'Firefox'"] # 禁止Firefox显示阴影