一、准备工作:更新系统并安装依赖包
在安装Compton前,需确保系统为最新版本,并安装必要的编译工具与库文件。执行以下命令:
sudo yum update -y # 更新系统包
sudo yum groupinstall -y "Development Tools" # 安装编译工具链(gcc、make等)
若使用CentOS 8及以上版本(默认使用DNF包管理器),可将yum替换为dnf。
二、安装Compton
Compton可通过系统包管理器直接安装,或从源码编译安装(适用于需要最新版本的情况)。
sudo yum install compton -y # CentOS 7及以下
# 或(CentOS 8及以上)
sudo dnf install compton -y
安装完成后,Compton会自动集成到系统中,无需额外配置即可运行。
若包管理器中没有Compton,可从GitHub下载源码并编译:
git clone https://github.com/channable/compton.git # 克隆源码仓库
cd compton # 进入源码目录
mkdir build && cd build # 创建并进入构建目录
cmake .. # 生成Makefile(需提前安装cmake)
make -j$(nproc) # 编译(使用所有CPU核心加速)
sudo make install # 安装到系统目录(默认/usr/local/bin)
三、配置Compton
Compton的配置文件通常位于用户主目录的.config文件夹下(~/.config/compton.conf)。若文件不存在,可手动创建:
mkdir -p ~/.config # 创建.config目录(若不存在)
nano ~/.config/compton.conf # 使用nano编辑器创建配置文件
以下是一个优化性能的配置示例(可根据需求调整):
# 后端设置:glx适用于支持OpenGL的显卡(性能更好),xrender适用于兼容性要求高的场景
backend = glx
# 视觉效果:关闭阴影和透明度以减少资源消耗
shadow = false
opacity = false
# 垂直同步:开启可防止画面撕裂(根据显示器调整)
vsync = true
# 忽略根窗口透明度:避免桌面背景出现透明问题
ignore_root = true
# 排除特定窗口的特效(如桌面面板、系统托盘)
shadow-exclude = [
"class_g = 'gnome-panel'",
"class_g = 'gnome-shell'",
"class_g = 'krunner'"
]
配置完成后,按Ctrl+O保存,Ctrl+X退出编辑器。
四、启动Compton
compton --config ~/.config/compton.conf & # 后台运行(&表示后台进程)
创建Systemd服务文件,实现开机自动启动:
sudo nano /etc/systemd/system/compton.service # 创建服务文件
粘贴以下内容(根据安装方式调整ExecStart路径,源码安装为/usr/local/bin/compton,包管理器安装为/usr/bin/compton):
[Unit]
Description=Compton Window Compositor
After=display-manager.service # 在显示管理器启动后运行
[Service]
Type=simple
ExecStart=/usr/bin/compton --config ~/.config/compton.conf
Restart=on-failure # 失败时自动重启
[Install]
WantedBy=multi-user.target # 多用户模式下启动
保存后,执行以下命令启用并启动服务:
sudo systemctl daemon-reload # 重新加载Systemd配置
sudo systemctl enable compton # 设置开机自启
sudo systemctl start compton # 立即启动Compton
五、验证安装
检查运行状态:
ps -e | grep compton # 查看Compton进程是否存在
若输出包含compton,说明已运行。
查看版本信息:
compton --version # 显示Compton版本号
测试特效:
打开一个应用程序窗口(如终端),若配置中开启了阴影或透明度,应能看到对应效果;若关闭了特效,则无额外视觉效果。
注意事项
vsync、调整backend为xrender,或限制CPU使用率:cpulimit -l 50 -p $(pgrep compton))。killall compton && compton --config ~/.config/compton.conf &)以应用更改。