在 CentOS 上开启 Compton(一个轻量级的 X11 窗口合成器,用于实现窗口透明、阴影、淡入淡出等特效),通常需要经过安装、配置、启动三个步骤。
不过在开始之前,有几个重要前提需要了解:
picom(Compton 的活跃分支)代替了 compton。下文会同时给出 compton 和 picom 的命令,两者配置基本通用。在 CentOS 上,通常需要先启用 EPEL 扩展仓库。
对于 CentOS 7:
sudo yum install -y epel-release
sudo yum install -y compton
对于 CentOS 8 / Stream / Rocky / Alma:
CentOS 8 之后的仓库中通常叫 picom:
sudo dnf install -y epel-release
sudo dnf install -y picom
安装完成后,可以通过 which compton 或 which picom 确认命令是否存在。
如果你需要最新版的 Compton,可以从源码编译:
# 安装依赖和编译工具
sudo yum groupinstall "Development Tools" -y
sudo yum install -y git libX11-devel libXfixes-devel libXext-devel libXrender-devel libXrandr-devel libXcomposite-devel dbus-devel pcre-devel libdrm-devel mesa-libGL-devel libconfig-devel
# 下载源码并编译
git clone https://github.com/chjj/compton.git
cd compton
make
sudo make install
Compton 的行为由配置文件控制。通常配置文件位于 ~/.config/compton.conf(如果是 picom,也可以是 ~/.config/picom.conf)。
创建目录并编辑配置文件:
mkdir -p ~/.config
nano ~/.config/compton.conf
将以下内容复制进去(这是一个基础配置,提供阴影和淡入淡出特效):
# 使用 glx 后端(性能较好,如果黑屏就改成 xrender)
backend = "glx";
# 阴影设置
shadow = true;
shadow-radius = 8;
shadow-offset-x = -2;
shadow-offset-y = -2;
shadow-opacity = 0.5;
# 透明度动画(淡入淡出)
fade = true;
fade-delta = 2;
fade-in-step = 0.02;
fade-out-step = 0.02;
# 全屏应用(如游戏、视频)时自动关闭合成以避免卡顿
unredir-if-possible = true;
# 排除某些程序(例如不给某些窗口加阴影)
shadow-exclude = [ "n:e:Notification" ];
保存并退出(Nano 编辑器按
Ctrl+O回车,再按Ctrl+X)。
在终端中直接运行以下命令即可开启(加 -b 表示后台运行):
# 如果安装的是 compton
compton -b
# 如果安装的是 picom
picom -b
如果配置正确且没有报错,你的窗口现在应该已经具有透明和阴影特效了。
为了避免每次开机都手动输入命令,你需要将 Compton 添加到桌面环境的自启动项中。
情况 A:如果你使用 i3 / Openbox 等窗口管理器
编辑你的窗口管理器配置文件,加入启动命令。例如 i3 用户编辑 ~/.config/i3/config,在末尾加上:
exec --no-startup-id compton -b
情况 B:如果你使用 XFCE / LXDE 等带有“启动管理器”的桌面 进入系统的 “会话和启动” (Session and Startup) 设置,在“应用程序自启动”选项卡中添加一个新条目:
compton -b (或者 picom -b)情况 C:如果你是通过 startx 或 .xinitrc 启动图形界面
编辑 ~/.xinitrc 文件,在启动窗口管理器(如 exec i3)的同一代码块中添加:
compton -b &
backend)不兼容。尝试编辑 ~/.config/compton.conf,将 backend = "glx"; 改为 backend = "xrender";,然后重启 Compton。