温馨提示×

如何在CentOS中正确设置Compton

小樊
42
2025-12-09 19:40:29
栏目: 智能运维

在 CentOS 中正确设置 Compton

一 环境准备与安装

  • 确认会话类型为 X11(Compton 是 X11 合成器,不适用于 Wayland)。在终端执行:echo $XDG_SESSION_TYPE,返回应为 x11
  • 更新系统并安装:
    • CentOS 7:sudo yum update -y && sudo yum install -y epel-release compton
    • CentOS 8/Stream:sudo dnf install -y epel-release compton
  • 若提示找不到包,可先启用 EPEL,再安装;某些仓库可能提供较新版本。安装完成后可用 compton --version 验证可执行文件存在。

二 创建基础配置文件

  • 推荐将配置放在用户目录:mkdir -p ~/.config && nano ~/.config/compton.conf
  • 一个兼顾性能与兼容性的基础示例(可按需增删):
    # 合成后端:优先 glx(硬件加速),xrender 为备选
    backend = "glx"
    
    # 帧率上限(与显示器刷新率匹配更流畅)
    fps = 60
    
    # 垂直同步(减少撕裂,若游戏/拖动异常可尝试 false)
    vsync = true
    
    # 阴影
    shadow = true
    shadow-radius = 12
    shadow-offset-x = 0
    shadow-offset-y = 8
    shadow-opacity = 0.45
    
    # 窗口淡入淡出
    fade = true
    fade-delta = 10
    
    # 不合成特定窗口(示例:桌面、启动画面、Dock/面板)
    shadow-exclude = [
        "window_type = 'desktop'",
        "window_type = 'dock'",
        "window_type = 'tooltip'",
        "window_role = 'splash'"
    ]
    
    # 透明度规则(示例)
    opacity-rule = [
        "90:class_g 'Firefox'",
        "90:class_g 'Terminal'"
    ]
    
    # 避免与桌面环境自带合成器冲突(如 Mutter/GNOME Shell)
    unredir-if-possible = true
    
  • 保存后可用命令测试:compton -c ~/.config/compton.conf(无报错且无明显卡顿即为通过)。

三 设置开机自启动

  • 创建 systemd 用户服务(推荐,避免权限与图形会话问题):
    1. 创建服务文件:nano ~/.config/systemd/user/compton.service
    2. 写入以下内容(注意替换 your-username 为实际用户名):
      [Unit]
      Description=Compton Window Composer
      After=graphical-session.target
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton -c /home/your-username/.config/compton.conf
      Restart=on-failure
      Environment=DISPLAY=:0
      
      [Install]
      WantedBy=graphical-session.target
      
    3. 启用并启动:
      systemctl --user daemon-reload
      systemctl --user enable --now compton.service
  • 若必须使用系统级服务(不推荐),示例要点:
    • After=display-manager.service
    • User=your-username(必须指定登录用户)
    • ExecStart 指向 compton 与你的配置文件
    • 启用:sudo systemctl enable --now compton.service
  • 常见故障排查:
    • 黑屏/撕裂:将 vsync 改为 false 或尝试 backend=xrender
    • 与 GNOME/Mutter 冲突:保持默认合成器,或改用用户级服务并避免重复启用合成。

四 验证与常见问题处理

  • 验证运行状态:
    • 进程:pgrep -x compton
    • 日志:journalctl --user -u compton -f(用户服务)或 journalctl -u compton -f(系统服务)
    • 手动前台运行观察输出:compton -c ~/.config/compton.conf
  • 多显示器:先通过 xrandr --query 确认输出名,再按需设置位置/主屏;Compton 一般无需额外配置即可适配多屏。
  • 性能与兼容性建议:
    • 老旧显卡或驱动不佳时,优先用 backend=xrender 并降低 shadow/fade 复杂度
    • 游戏/全屏视频卡顿:设置 unredir-if-possible=true,或在全屏时临时关闭 Compton
    • 若桌面自带合成器(如 GNOME Shell/Mutter、KWin),建议只保留一个合成器以避免冲突与性能损失。

0