温馨提示×

如何在CentOS上自定义Compton设置

小樊
31
2025-12-25 13:48:31
栏目: 智能运维

在 CentOS 上自定义 Compton 的完整步骤

一 安装与准备

  • CentOS 7 使用 YUM 安装:sudo yum install compton;在 CentOS 8/9 使用 DNF 安装:sudo dnf install compton。安装完成后可用 compton --version 验证可执行文件是否存在。若提示找不到命令,请确认已安装并在 PATH 中可用。建议同时安装 xorg-x11-server-Xorg 等基础 X11 组件,以确保合成器正常工作。

二 创建与编辑配置文件

  • 配置文件默认路径为:~/.config/compton.conf(当前用户)或 /etc/compton.conf(全局)。若不存在可手动创建:
    mkdir -p ~/.config
    nano ~/.config/compton.conf
    
  • 一个兼顾性能与观感的入门示例(可按需增删):
    # 基本
    backend = "glx"
    vsync = true
    shadow = true
    
    # 阴影样式
    shadow-radius = 6
    shadow-offset-x = 2
    shadow-offset-y = 2
    shadow-opacity = 0.45
    
    # 淡入淡出
    fade = true
    fade-delta = 10
    
    # 排除规则(示例:终端与通知类窗口无阴影)
    shadow-exclude = [
      "class_g = 'gnome-terminal-server'",
      "class_g = 'konsole'",
      "class_g = 'notify-osd'",
      "class_g = 'notification-daemon'"
    ]
    
    # GLX 优化
    glx-no-stencil = true
    glx-copy-from-front = false
    glx-damage = true
    
    # 不透明度规则(示例:让 Firefox 标题栏更透明)
    opacity-rule = [
      "90:class_g = 'firefox' && window_type = 'normal' && !override_redirect"
    ]
    
    说明:
    • 使用 backend = "glx" 通常较 xrender 有更好的性能与兼容性(取决于驱动)。
    • shadow-excludeopacity-rule 使用窗口的 class_g、title、window_type 等匹配规则,可按应用精细化控制。

三 启动与开机自启

  • 手动启动(会话中测试配置是否有效):
    killall compton 2>/dev/null
    compton --config ~/.config/compton.conf &
    
  • 图形会话自动启动(适用于大多数桌面环境):
    • 将启动命令加入会话的启动脚本,例如 ~/.xprofile~/.xinitrc
      compton --config ~/.config/compton.conf &
      
  • 使用 Systemd 用户服务(推荐,便于管理):
    1. 创建服务文件:nano ~/.config/systemd/user/compton.service
    2. 写入以下内容(注意使用 --user 与用户级环境变量):
      [Unit]
      Description=Compton Window Composer
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf
      Restart=always
      Environment=DISPLAY=:0
      
      [Install]
      WantedBy=default.target
      
    3. 启用并启动:
      systemctl --user daemon-reload
      systemctl --user enable --now compton.service
      
    4. 若使用系统级服务(不建议与用户会话并存),可创建 /etc/systemd/system/compton.service,并在 [Unit] 中加入 After=display-manager.service,然后用 sudo systemctl enable --now compton 管理。使用 systemd 时,务必确保 DISPLAYXAUTHORITY 正确,否则合成器无法连接 X 会话。

四 常用参数与优化建议

  • 性能优先:
    • 关闭阴影:shadow = false
    • 关闭淡入淡出:fade = false
    • 选择 backend = "glx" 并开启 glx-damage = true
    • 视显示器与驱动情况切换 vsync(true/false)以平衡撕裂与输入延迟
  • 外观优化:
    • 调整 shadow-radiusshadow-offset-x/yshadow-opacity 获得更自然的阴影
    • 使用 opacity-rule 为特定应用设置不透明度
    • 需要背景模糊时启用 blur-background(注意性能开销)
  • 排错与验证:
    • 检查是否运行:ps -e | grep compton
    • 查看日志:journalctl --user -u compton.service -b(用户级)或 journalctl -u compton.service -b(系统级)
    • 若与桌面环境自带合成器冲突,先关闭其他合成器(如某些桌面特效/窗口管理器)再启动 Compton。

0