Compton的配置文件通常位于用户主目录下的.config文件夹中,文件名为compton.conf(即~/.config/compton.conf)。若该文件不存在,可手动创建。部分系统也可能使用/etc/compton.conf作为全局配置文件。
backend是Compton的核心参数之一,用于指定窗口合成的后端技术,直接影响性能和兼容性。常见选项:
glx:基于OpenGL的GLX后端,适用于大多数现代桌面环境(如GNOME、KDE),支持GPU加速,性能最佳;xrender:基于X11的XRender后端,兼容性更强,但性能较差,适合老旧硬件;wayland:适用于Wayland显示服务器(需Compton支持Wayland),提供更现代的合成方式。backend = "glx";阴影效果是Compton的常见视觉特性,可通过以下参数调整:
shadow:布尔值,是否启用阴影(true/false);shadow-exclude:数组,指定不需要阴影的窗口(通过类名、标题等正则表达式匹配),例如排除Firefox浏览器窗口:shadow-exclude = [".*", "class='Firefox'"];;shadow-color:阴影颜色及透明度,格式为rgba(r,g,b,a)(如rgba(0,0,0,0.5)表示黑色、50%透明度);shadow-offset-x/shadow-offset-y:阴影偏移量(水平/垂直方向,单位:像素);shadow-radius:阴影模糊半径(值越大,阴影越柔和)。shadow = true;
shadow-exclude = [".*", "class='Firefox'", "title='.*Firefox.*'"];
shadow-color = "rgba(0,0,0,0.5)";
shadow-offset-x = 5;
shadow-offset-y = 5;
shadow-radius = 10;
透明度规则用于调整窗口的透明程度,可通过以下参数设置:
opacity:全局透明度(0.0~1.0,1.0为不透明);alpha-mode:透明度模式(none/screen/exact),none表示不启用透明度;alpha-ignores:数组,指定不需要透明度的窗口(如排除视频播放窗口以保证流畅);opacity-rule:数组,针对特定窗口设置透明度(通过类名、标题等匹配),例如设置Firefox透明度为90%:opacity-rule = ["class='Firefox'", "opacity=0.9"];。opacity = 0.8;
alpha-mode = "screen";
alpha-ignores = ["class='vlc'"];
opacity-rule = ["class='GIMP'", "opacity=0.7"];
为平衡视觉效果与系统性能,可调整以下参数:
vsync:布尔值,是否开启垂直同步(true/false),开启后可避免屏幕撕裂,但可能增加延迟;frame-rate:帧率限制(单位:FPS,默认60),降低帧率可减少CPU/GPU占用;glx-no-stencil:布尔值,是否禁用模板缓冲区(true/false),禁用后可提升性能(适用于不需要复杂特效的场景);glx-copy-from-front:布尔值,是否从前面复制像素到后面(true/false),开启后可减少渲染开销。vsync = true;
frame-rate = 30;
glx-no-stencil = true;
glx-copy-from-front = true;
淡入淡出效果用于窗口最小化、最大化或切换时的平滑过渡,可通过以下参数设置:
fade:布尔值,是否启用淡入淡出(true/false);fade-delta:淡入淡出时间间隔(单位:毫秒,如30表示30ms完成一次过渡);fade-in-step/fade-out-step:淡入/淡出的步进值(0.0~1.0,控制过渡速度)。fade = true;
fade-delta = 30;
fade-in-step = 0.05;
fade-out-step = 0.05;
为确保Compton与窗口管理器(如i3、Openbox)无缝协作,可设置以下参数:
wm:字符串,指定当前使用的窗口管理器(如i3、openbox);focus:焦点策略(click/mouse/sloppy),click表示点击获取焦点,mouse表示鼠标悬停获取焦点。wm = "i3";
focus = "click";
以下是一个针对CentOS桌面环境(如GNOME+i3)的Compton配置示例,兼顾性能与视觉效果:
# 后端设置(优先使用glx)
backend = "glx";
# 阴影配置(排除Firefox和终端窗口)
shadow = true;
shadow-exclude = [".*", "class='Firefox'", "class='gnome-terminal'"];
shadow-color = "rgba(0,0,0,0.4)";
shadow-offset-x = 3;
shadow-offset-y = 3;
shadow-radius = 8;
# 透明度控制(全局80%,排除视频播放窗口)
opacity = 0.8;
alpha-ignores = ["class='vlc'", "class='mpv'"];
# 性能优化(开启vsync,限制帧率)
vsync = true;
frame-rate = 30;
glx-no-stencil = true;
# 淡入淡出效果(快速过渡)
fade = true;
fade-delta = 20;
fade-in-step = 0.05;
fade-out-step = 0.05;
# 窗口管理器集成(适配i3)
wm = "i3";
focus = "click";
nano、vim)打开~/.config/compton.conf,修改所需参数;killall compton && compton &;sudo systemctl restart compton。若需要Compton随系统启动自动运行,可创建systemd服务文件:
sudo nano /etc/systemd/system/compton.service
[Unit]
Description=Compton Window Compositor
After=graphical.target
[Service]
ExecStart=/usr/bin/compton --config /home/your_username/.config/compton.conf
Restart=always
User=your_username
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload;
sudo systemctl enable compton.service;
sudo systemctl start compton.service;
sudo systemctl status compton.service