温馨提示×

如何调整Compton在CentOS上的参数

小樊
38
2026-01-08 04:44:46
栏目: 智能运维

在 CentOS 上调整 Compton 参数的实用步骤

一 安装与准备

  • CentOS 7 上先启用 EPEL,再用 yum 安装;在 CentOS 8/Stream 上直接用 dnf 安装。命令示例:
    • sudo yum install -y epel-release && sudo yum install -y compton
    • sudo dnf install -y compton
  • 配置文件默认位置为:~/.config/compton.conf;如不存在可手动创建:
    • mkdir -p ~/.config && nano ~/.config/compton.conf
  • 若使用 GNOME/KDE 等自带合成器的桌面环境,可能与 Compton 冲突,建议先关闭其内置合成器或避免同时运行两个合成器。

二 配置方式与常用参数

  • 方式一 配置文件(推荐)
    • 编辑或创建 ~/.config/compton.conf,示例:
      backend = "glx";
      vsync = true;
      shadow = true;
      shadow-radius = 12;
      shadow-offset-x = 2;
      shadow-offset-y = 2;
      shadow-exclude = [
        "class_g = 'gnome-terminal'",
        "class_g = 'konsole'"
      ];
      fade = true;
      fade-delta = 10;
      unredir-if-transparent = true;
      glx-no-stencil = true;
      glx-copy-from-front = false;
      glx-damage = true;
      
    • 保存后按下一节方法重启 Compton 生效。
  • 方式二 命令行参数(临时覆盖)
    • 示例:compton --config ~/.config/compton.conf --shadow-exponent 3 --shadow-color “#00000080” --opacity 0.95 --frame-rate 60
  • 常用参数速览
    • backend:渲染后端,常用 glx(OpenGL)或 xrender;OpenGL 通常性能更好。
    • vsync:垂直同步,设为 true 可减少撕裂,但可能略增输入延迟。
    • shadow / shadow-radius / shadow-offset-x / shadow-offset-y:阴影开关与外观。
    • shadow-exclude:按窗口类/标题排除阴影,如终端、停靠栏。
    • fade / fade-delta:淡入淡出与步进值,数值越小越平滑(更耗资源)。
    • unredir-if-transparent:透明窗口时取消重定向,提升性能。
    • glx-no-stencil / glx-copy-from-front / glx-damage:OpenGL 细节优化项。

三 应用与开机自启

  • 手动重启
    • 先结束旧进程:pkill compton
    • 按配置启动:compton -c ~/.config/compton.conf &
  • 使用 systemd 用户服务(推荐,登录即启动)
    • 创建服务:nano ~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Compositor
      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
  • 使用 systemd 系统服务(全系统范围,需指定用户)
    • 创建服务:sudo nano /etc/systemd/system/compton.service
      [Unit]
      Description=Compton Compositor
      After=display-manager.service
      
      [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 --now compton
  • 验证运行状态:
    • systemctl --user status compton(用户服务)或 systemctl status compton(系统服务)

四 性能与兼容性建议

  • 性能优先:将 backend 设为 glx,必要时关闭阴影(shadow = false)或淡入淡出(fade = false),并将 vsync 设为与显示器刷新率匹配(常见 true 或按驱动支持设置)。
  • 降低开销:对已知不需要特效的窗口使用 shadow-exclude 排除;启用 unredir-if-transparentglx-damage 等优化项。
  • 避免冲突:在 GNOME/KDE 等环境中先关闭其内置合成器,再运行 Compton,以免画面撕裂、卡顿或高占用。

0