Compton是一个轻量级窗口合成器,主要用于提升窗口管理的视觉效果(如阴影、透明),同时保持较低的系统资源占用。在CentOS中,它常与i3、Openbox等窗口管理器配合使用,为桌面环境增添现代化特效。
在CentOS中安装Compton需先更新系统,再通过包管理器安装:
# 更新系统
sudo yum update -y # CentOS 7及以下
sudo dnf update -y # CentOS 8及以上
# 安装Compton(优先使用DNF,若未安装可添加EPEL仓库)
sudo yum install compton -y # 或 sudo dnf install compton -y
安装完成后,可通过compton --version验证是否安装成功。
Compton的默认配置文件路径为**~/.config/compton.conf(用户级)或/etc/compton.conf**(系统级)。若文件不存在,可通过以下命令创建:
mkdir -p ~/.config
touch ~/.config/compton.conf
配置文件采用键值对格式,常用选项包括:
backend:渲染引擎(glx/xrender,推荐glx以支持GPU加速);shadow:是否启用窗口阴影(true/false);opacity:是否启用窗口透明(true/false);shadow-exclude:排除不需要阴影的窗口(如Firefox,避免特效卡顿)。以下是一个针对CentOS优化的基础配置(~/.config/compton.conf):
# 渲染引擎(使用glx以支持GPU加速)
backend = "glx"
# 禁用阴影(减少性能开销)
shadow = false
# 禁用窗口透明(进一步降低资源占用)
opacity = false
# 忽略glx相关问题(提升稳定性)
ignore_glx_glitz = true
# 启用垂直同步(避免画面撕裂)
vsync = true
# 限制帧率(减少CPU占用,设置为显示器刷新率,如60)
frame_rate = 60
此配置适用于普通办公或轻度娱乐场景,兼顾性能与基本视觉效果。
若使用多显示器,需先通过xrandr命令确认显示器名称(如HDMI-1、eDP-1),再在配置文件中添加以下选项:
# 多显示器配置(扩展屏模式)
xrandr-args = "--output HDMI-1 --auto --right-of eDP-1 --output DP-1 --auto --right-of HDMI-1"
或通过xrandr命令手动设置:
xrandr --output HDMI-1 --auto --right-of eDP-1
xrandr --output DP-1 --auto --right-of HDMI-1
确保Compton配置中的backend为glx,以支持多显示器同步。
若某些应用(如Firefox)的阴影导致卡顿,可通过shadow-exclude选项排除:
shadow-exclude = [
"class_g = 'Firefox'",
"title = 'Firefox'"
]
此配置将阻止Firefox窗口显示阴影。
配置完成后,可通过以下命令启动Compton:
killall compton # 先结束现有进程(若有)
compton -c ~/.config/compton.conf # 指定配置文件路径
为确保Compton随系统启动,需创建systemd服务:
sudo nano /etc/systemd/system/compton.service
添加以下内容(注意After字段需匹配显示管理器,如gdm.service、lightdm.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可查看服务状态。
backend设置为glx(而非xrender),并确保显卡驱动已正确安装;shadow(阴影)和opacity(透明),减少合成开销;frame_rate降低帧率(如设置为30),或使用cpulimit工具限制CPU使用率(如cpulimit -l 50 -p $(pgrep compton));cache-size = 100M(根据内存大小调整),减少渲染延迟。通过以上步骤,可在CentOS中完成Compton的配置与优化,兼顾桌面视觉效果与系统性能。