Linux 上安装与配置 Compton 的详细步骤
一 安装方式概览
- 优先使用发行版的包管理器安装(简单、依赖自动处理)。
- 需要新特性或特殊构建时,选择从源码编译(可控性更高,但需自行解决依赖与集成)。
二 发行版包管理器安装
- 基于 Debian/Ubuntu 及其衍生版
- 更新索引并安装
sudo apt update
sudo apt install compton
- 验证安装
compton --version
- 基于 Fedora
- 安装
sudo dnf install compton
- 验证安装
compton --version
- 基于 Arch Linux 及其衍生版
- 安装
sudo pacman -S compton
- 验证安装
compton --version
- 以上命令完成后即可在终端运行 compton;如需随会话自动启动,见第四节。
三 从源码编译安装
- 安装构建依赖(以 Debian/Ubuntu 为例,其他发行版请使用等效包管理器安装同名或同类库)
sudo apt update
sudo apt install -y cmake build-essential
libx11-dev libxrandr-dev libxinerama-dev libxcb-xinerama0-dev
libxcb-render-util0-dev libxcb-shm0-dev libxcb-image0-dev
libxcb-shape0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev
libwayland-dev libdrm-dev mesa-utils
- 获取源码并构建
git clone https://github.com/chjj/compton.git
cd compton
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release …
make -j$(nproc)
sudo make install
- 验证安装
compton --version
- 说明
- 不同分支/仓库的构建选项可能略有差异,如遇缺依赖按提示补齐即可。
- 某些发行版可能需要额外的 OpenGL/EGL 相关库以确保 glx 后端正常工作。
四 启动与开机自启
- 会话内直接启动(适合 i3、Openbox、Xfce 等)
compton --config ~/.config/compton.conf
- 使用 systemd 用户级服务(推荐,登录会话自动启动)
-
创建服务文件
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/compton.service
-
写入示例内容(按你的实际路径与参数调整)
[Unit]
Description=Compton Window Composer
After=graphical-session.target
[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=always
Environment=DISPLAY=:0
[Install]
WantedBy=graphical-session.target
-
启用并启动
systemctl --user daemon-reload
systemctl --user enable --now compton
- 使用桌面环境自启动(GNOME、Xfce 等)
- 在 ~/.config/autostart/ 创建 compton.desktop:
[Desktop Entry]
Type=Application
Exec=compton --config ~/.config/compton.conf
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Compton
Comment=Window compositor
- 提示
- 若使用系统级服务(/etc/systemd/system/compton.service),请确保 After= 与 WantedBy 与你的显示管理器/会话匹配,并注意 DISPLAY/XAUTHORITY 等环境变量。
五 配置与常见问题
- 配置文件位置与基础示例
- 用户级:~/.config/compton.conf;系统级:/etc/xdg/compton.conf
- 最小可用示例(保存为 ~/.config/compton.conf):
backend = “glx”;
vsync = true;
shadow = true;
shadow-radius = 4.0;
shadow-offset-x = 1.0;
shadow-offset-y = 1.0;
shadow-exclude = [
“class_g = ‘GtkWindow’”,
“class_i = ‘GtkDialog’”
];
opacity-rule = [ “90:class_g = ‘Gnome-terminal’” ];
- 常用性能与外观调优
- 优先使用 backend=glx(需驱动支持),较 xrender 性能更好。
- 不需要时关闭阴影(shadow=false)或降低半径(shadow-radius),可显著减负。
- 启用 vsync 可减少撕裂,但可能降低帧率;可按显示器刷新率与显卡驱动情况取舍。
- 兼容性与排错要点
- GNOME/KDE/Xfce 等自带复合器(如 Mutter/KWin),与 Compton 同时运行可能导致阴影/透明度异常;可关闭桌面自带复合器,或在 Compton 中调整特效与忽略规则。
- 显卡驱动过旧会导致卡顿/崩溃,建议更新 Mesa/NVIDIA/AMD 驱动。
- 动态库冲突可用 ldconfig -p 检查并更新相关库;必要时重装冲突包。
- 修改配置后,重启 Compton 生效:pkill compton && compton --config ~/.config/compton.conf(或使用 systemctl --user restart compton)。