温馨提示×

CentOS Compton配置文件解析

小樊
48
2025-10-17 19:44:19
栏目: 智能运维

CentOS Compton配置文件解析

一、配置文件位置

Compton的配置文件通常位于用户主目录下的.config文件夹中,文件名为compton.conf(即~/.config/compton.conf)。若该文件不存在,可手动创建。部分系统也可能使用/etc/compton.conf作为全局配置文件。

二、核心配置参数解析

1. 后端设置(backend)

backend是Compton的核心参数之一,用于指定窗口合成的后端技术,直接影响性能和兼容性。常见选项:

  • glx:基于OpenGL的GLX后端,适用于大多数现代桌面环境(如GNOME、KDE),支持GPU加速,性能最佳;
  • xrender:基于X11的XRender后端,兼容性更强,但性能较差,适合老旧硬件;
  • wayland:适用于Wayland显示服务器(需Compton支持Wayland),提供更现代的合成方式。
    示例:backend = "glx";

2. 阴影配置(shadow相关)

阴影效果是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;

3. 透明度控制(opacity相关)

透明度规则用于调整窗口的透明程度,可通过以下参数设置:

  • 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"];

4. 性能优化参数

为平衡视觉效果与系统性能,可调整以下参数:

  • 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;

5. 淡入淡出效果(fade相关)

淡入淡出效果用于窗口最小化、最大化或切换时的平滑过渡,可通过以下参数设置:

  • 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;

6. 窗口管理器集成(wm相关)

为确保Compton与窗口管理器(如i3、Openbox)无缝协作,可设置以下参数:

  • wm:字符串,指定当前使用的窗口管理器(如i3openbox);
  • 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";

四、配置文件修改与生效

  1. 编辑配置文件:使用文本编辑器(如nanovim)打开~/.config/compton.conf,修改所需参数;
  2. 重启Compton:修改后需重启Compton使设置生效,可通过以下命令操作:
    • 手动重启:killall compton && compton &
    • 若使用systemd服务(参考后续“服务管理”部分),执行:sudo systemctl restart compton

五、服务管理(可选)

若需要Compton随系统启动自动运行,可创建systemd服务文件:

  1. 创建服务文件
    sudo nano /etc/systemd/system/compton.service
    
  2. 添加以下内容(根据实际配置文件路径调整):
    [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
    
  3. 启用并启动服务
    sudo systemctl daemon-reload;
    sudo systemctl enable compton.service;
    sudo systemctl start compton.service;
    
  4. 检查服务状态
    sudo systemctl status compton.service
    

0