温馨提示×

centos compton如何进行高级配置

小樊
35
2025-12-21 16:23:04
栏目: 智能运维

CentOS 上 Compton 高级配置指南

一 环境准备与安装

  • CentOS 7/8/Stream 上安装 Compton(若仓库未提供,可先启用 EPEL 或使用源码/第三方仓库):
    • CentOS 7/8:sudo yum install -y comptonsudo dnf install -y compton
  • 准备配置文件:mkdir -p ~/.config && nano ~/.config/compton.conf
  • 快速验证:compton --config ~/.config/compton.conf --backend glx --vsync true --shadow false
  • 建议运行在 X11 会话;在 Wayland 会话中,Compton 通常不可用(Wayland 的合成由 compositor 内置管理)。

二 配置文件结构与核心参数

  • 配置文件为 INI 风格,支持全局键、分组(如 [shadow][blur][opacity-rule])与规则列表。
  • 关键全局项与含义:
    • backend:渲染后端,优先 glx(性能与兼容性更好),必要时用 xrender
    • vsync:垂直同步,取值 true/false,用于减少撕裂;若出现卡顿可尝试切换。
    • shadow:是否启用窗口阴影;在高刷新率或低性能设备上可关闭以提升性能。
    • opacity / alpha:全局透明度(0.0–1.0),谨慎使用以免影响可读性与性能。
    • ignore_root:是否忽略根窗口透明度,部分桌面环境需要设为 true
  • 分组与规则示例:
    • 阴影参数:shadow-radiusshadow-offset-xshadow-offset-yshadow-opacity
    • 背景模糊:[blur] method = gaussian; size = 10; deviation = 5.0
    • 窗口透明度规则:[opacity-rule] ["90:class_g 'Firefox'", "90:name 'Terminal'"]
  • 提示:规则采用 匹配条件:值 的形式,支持按 class_g/name/title 等匹配。

三 高级场景配置示例

  • 高性能模式(适合游戏/低功耗设备)
    • 关闭阴影与全局透明,启用 GLX 加速与 VSync,限制帧率以稳定功耗与温度。
    • 参考片段:
      • backend = glx
      • vsync = true
      • shadow = false
      • opacity = 1.0
      • frame-rate = 60
  • 美观模式(阴影 + 高斯模糊)
    • 启用阴影与背景模糊,适度设置模糊半径与偏移,获得更现代的视觉层次。
    • 参考片段:
      • backend = glx
      • vsync = true
      • shadow = true
      • shadow-radius = 5
      • shadow-offset-x = 1
      • shadow-offset-y = 1
      • shadow-opacity = 0.3
      • [blur] method = gaussian; size = 10; deviation = 5.0
  • 应用级透明度(按窗口类/标题)
    • 通过 opacity-rule 精确控制指定应用的透明度,兼顾观感与可读性。
    • 参考片段:
      • [opacity-rule] ["90:class_g 'Firefox'", "92:name 'Terminal'"]
  • 阴影排除(避免特定窗口产生阴影)
    • 使用 shadow-exclude 列表按 class_g/title 等条件排除,例如排除 Firefox 窗口阴影:
      • shadow-exclude = ["class_g = 'Firefox'"]
  • 以上片段可按需合并到 ~/.config/compton.conf 中,保存后重启 Compton 生效。

四 自启动与系统集成

  • 会话级自启动(适用于 i3/Openbox 等窗口管理器)
    • 在会话启动脚本(如 ~/.xinitrc~/.config/i3/config)中添加:
      • exec compton --config ~/.config/compton.conf
  • Systemd 用户级服务(登录会话自动启动,推荐)
    • 创建服务: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
      • [Install] WantedBy=default.target
    • 启用与启动:
      • systemctl --user daemon-reload
      • systemctl --user enable --now compton.service
  • Systemd 系统级服务(可选,适用于全系统启动)
    • 创建:sudo nano /etc/systemd/system/compton.service
    • 内容示例:
      • [Unit] Description=Compton Window Composer After=display-manager.service
      • [Service] ExecStart=/usr/bin/compton --config /home/用户名/.config/compton.conf Restart=always
      • [Install] WantedBy=multi-user.target
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now compton.service
  • 注意:系统级服务可能无法正确继承用户会话环境变量,优先使用 用户级 服务。

五 性能调优与故障排查

  • 性能优化要点
    • 优先选择 backend = glx;在兼容性问题时再尝试 xrender
    • 关闭不必要的特效(如 shadow = false、减少/关闭透明与模糊)可显著提升性能。
    • 合理设置 vsync(true/false 切换测试),必要时限制 frame-rate(如 60 FPS)。
    • 确保显卡驱动正确安装并启用 OpenGL 支持,以发挥 GPU 加速优势。
    • 资源限制:如需控制 CPU 占用,可使用 cpulimit -l 50 -p $(pgrep compton)(谨慎使用,避免影响交互)。
  • 常见问题排查
    • 屏幕撕裂:切换 vsync 取值(true/false),并测试不同后端(glx/xrender)。
    • 模糊/阴影异常:检查 shadow-exclude[blur] 参数与受影响应用的 class/title
    • 启动失败:核对配置文件语法(INI 结构、分组与引号)、可执行文件路径、权限与日志输出。
    • 多显示器:确保 xrandr 输出正常,必要时在配置或启动脚本中显式设置输出参数。

0