温馨提示×

如何通过Compton提升CentOS显示效果

小樊
45
2025-12-09 19:45:33
栏目: 智能运维

在 CentOS 上使用 Compton 提升显示效果

一 安装与准备

  • CentOS 7/8/Stream 上,先启用 EPEL 仓库,再用包管理器安装 Compton:
    • 安装 EPEL:sudo yum install -y epel-release(或 dnf install -y epel-release)
    • 安装 Compton:sudo yum install -y compton(或 dnf install -y compton)
  • 若系统仓库暂未提供,可先启用 EPEL 后再安装,或考虑使用其他合成器(如 picom)作为替代。

二 配置要点与示例

  • 配置文件常见位置:~/.config/compton.conf/etc/xdg/compton.conf/etc/compton.conf。建议优先使用用户级配置,便于维护与回滚。
  • 关键参数与作用(精简版):
    • backend = “glx”:优先使用 OpenGL 加速,通常较 xrender 更流畅。
    • vsync = true:开启垂直同步,减少撕裂;若出现卡顿或输入延迟,可尝试改为 false 测试。
    • shadow = true/false:窗口阴影;在高分辨率或老旧显卡上可关闭以提升性能。
    • fade = true/false:窗口淡入淡出动画;关闭可略微提升性能。
    • unredirect = false:避免对全屏应用做合成重定向,减少卡顿与撕裂风险。
    • opacity / opacity-rule:窗口透明度与按规则设置透明度(如终端、浏览器等)。
    • blur / blur-background:背景模糊,观感更现代,但更耗资源。
  • 示例配置(保存为 ~/.config/compton.conf):
    backend = "glx"
    vsync = true
    shadow = true
    fade = true
    unredirect = false
    
    [shadow]
    radius = 12
    opacity = 0.35
    
    [blur]
    method = "gaussian"
    size = 8
    deviation = 4.0
    
    [opacity-rule]
    "90:class_g='Firefox'"
    "90:class_g='Terminal'"
    "100:class_g='Xephyr'"
    
    上述参数与示例覆盖了提升观感的核心开关(阴影、模糊、透明度)与性能相关的关键项(backend、vsync、unredirect)。

三 启动与自启动

  • 手动启动(测试用):compton --config ~/.config/compton.conf
  • 热重载:killall compton && compton --config ~/.config/compton.conf
  • 开机自启动(推荐用户级 systemd 服务):
    1. 创建服务文件:sudo nano /etc/systemd/system/compton.service
    2. 写入以下内容(注意将 ExecStart 路径替换为 which compton 的实际路径,如 /usr/bin/compton):
      [Unit]
      Description=Compton Window Composer
      After=display-manager.service
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton --config /home/你的用户名/.config/compton.conf
      Restart=always
      RestartSec=3
      
      [Install]
      WantedBy=graphical.target
      
    3. 启用并启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now compton
  • 若使用登录会话自启动(如 ~/.xprofile 或桌面会话的“启动程序”),请确保只启动一个 Compton 实例,避免冲突。

四 验证与常见问题

  • 验证要点:
    • 观察窗口移动、最小化/最大化、透明度与阴影/模糊是否生效。
    • 检查运行状态:systemctl --user status compton(用户级)或 systemctl status compton(系统级)。
    • 查看日志定位问题:compton --config ~/.config/compton.conf 2> /var/log/compton.log,随后 cat /var/log/compton.log。
  • 常见问题与处理:
    • 屏幕撕裂:将 vsync 设为 true;若仍撕裂,尝试关闭并重试,或结合 unredirect = false 观察。
    • 性能不佳:关闭 shadowblur,或将 backend 调整为 glx;必要时降低模糊半径与透明度规则数量。
    • 全屏游戏卡顿:保持 unredirect = false,避免不必要的合成重定向;若仍受影响,可临时停止 Compton 测试。
    • 多显示器:先通过 xrandr --query 确认输出名与布局,再按需调整 Compton 配置;多屏下优先使用 glx 后端以获得更一致的体验。

0