在安装Compton前,需确保系统已更新至最新状态,并安装必要的依赖项(避免编译或运行时出现错误)。不同发行版的依赖项略有差异:
sudo apt update && sudo apt install build-essential cmake git libx11-dev libxext-dev libxrender-dev libxtst-dev libxi-dev libasound2-devsudo dnf groupinstall "Development Tools" && sudo dnf install git cmake xorg-x11-devel mesa-libGL-devel xrandr-devel xinerama-devel libXcursor-devel libxtst-devel libXi-devel cairo-gobject-devel sqlite-devel boost-devel boost-thread-devel jsoncpp-devel googletest-devel包管理器安装是最便捷的方式,适用于大多数用户。根据发行版选择对应命令:
sudo apt install comptonsudo dnf install comptonsudo pacman -S compton安装完成后,Compton会自动集成到系统中,可直接通过命令启动。
若需要最新版本或自定义功能,可通过源码编译安装:
git clone https://github.com/compton-compositor/compton.git && cd comptonmkdir build && cd buildcmake ..(可根据需要添加-DCMAKE_INSTALL_PREFIX=/usr/local指定安装路径)make -j$(nproc) && sudo make install编译安装后,Compton会安装到/usr/local/bin(默认路径),需通过完整路径或更新PATH环境变量启动。
Compton的配置文件通常位于~/.config/compton.conf(用户级)或/etc/xdg/compton.conf(系统级)。若文件不存在,可手动创建:
compton --dump-config > ~/.config/compton.confbackend = "glx":设置渲染后端(glx性能更好,xrender兼容性更强,推荐优先使用glx);shadow = true:启用窗口阴影(提升视觉层次感);shadow-exclude = ["*.menu", "*.notification", "Firefox"]:排除菜单、通知及Firefox等应用的阴影(避免遮挡或冲突);vsync = true:开启垂直同步(减少屏幕撕裂);opacity = 0.8:设置窗口透明度(0.0-1.0,数值越小越透明);fade = true:启用窗口淡入淡出效果(提升操作流畅感)。安装或配置完成后,可通过终端直接启动Compton:compton(若配置文件不在默认路径,需指定--config /path/to/compton.conf)。
为了让Compton随系统启动自动运行,需创建Systemd服务文件:
sudo nano /etc/systemd/system/compton.service[Unit]
Description=Compton Window Composer
After=display-manager.service # 确保在显示管理器启动后运行
[Service]
ExecStart=/usr/bin/compton --config /etc/xdg/compton.conf # 根据实际路径调整
Restart=on-failure # 失败时自动重启
[Install]
WantedBy=multi-user.target # 多用户模式下启动
sudo systemctl daemon-reload # 重新加载Systemd配置
sudo systemctl enable compton # 设置开机自启
sudo systemctl start compton # 立即启动
ps aux | grep compton,若看到Compton进程(如/usr/bin/compton),则说明安装成功。compton --log-file=/tmp/compton.log生成日志文件,使用cat /tmp/compton.log查看错误信息(常见原因包括显卡驱动不支持OpenGL、配置文件语法错误)。picom(Compton的分支,支持Wayland),或通过gnome-tweaks调整窗口效果。shadow = false、fade = false),或选择xrender后端提升兼容性。