温馨提示×

compton在centos上如何配置

小樊
43
2025-11-30 00:00:35
栏目: 智能运维

在 CentOS 上配置 Compton 的完整步骤

一 环境准备与安装

  • 确认会话类型:Compton 是 X11 的窗口合成器,不用于 Wayland。在 CentOS 上默认使用 Xorg,可直接使用;若登录到 Wayland 会话,请先切换到 Xorg。
  • 安装命令(优先使用仓库包):
    • 更新并启用 EPEL(如未启用):sudo yum update -y && sudo yum install -y epel-release
    • 安装 Compton:sudo yum install -y compton
  • 若仓库无可用版本,可从源码编译(示例):
    • 安装编译依赖:sudo yum groupinstall -y “Development Tools”
    • 安装图形依赖:sudo yum install -y mesa-libGL-devel mesa-libEGL-devel libX11-devel libXext-devel libXinerama-devel libXrandr-devel libXcursor-devel libXdamage-devel libXcomposite-devel libXxf86vm-devel
    • 编译安装:git clone https://github.com/Compton/Compton.git && cd Compton && mkdir build && cd build && cmake … && make -j$(nproc) && sudo make install

二 配置文件与关键参数

  • 创建配置目录与文件:mkdir -p ~/.config && nano ~/.config/compton.conf
  • 基础示例(可按需调整):
    • 后端与帧率:backend = “glx”;fps = 60
    • 阴影:shadow = true;shadow-radius = 12;shadow-offset-x = 0;shadow-offset-y = 8;shadow-exclude = [“name = ‘Dmenu’”, “class_g = ‘Conky’”]
    • 透明度与忽略规则:opacity-rule = [“90:class_g = ‘URxvt’”, “0.95:class_g = ‘Firefox’”];inactive-opacity = 0.95
    • 同步与渲染:vsync = true;glx-no-stencil = true;glx-copy-from-front = false
    • 多显示器:确保已用 xrandr 正确配置显示器布局(Compton 会自动适配)
  • 应用配置:compton --config ~/.config/compton.conf(先 kill 旧进程再启动)

三 开机自启动与系统集成

  • 使用 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=on-failure;Environment=DISPLAY=:0
      • [Install] WantedBy=graphical-session.target
    • 启用并启动:systemctl --user daemon-reload && systemctl --user enable --now compton.service
    • 若使用登录管理器(如 GDM),确保会话为 Xorg,并在“启动应用程序”中避免重复启动
  • 系统级服务(不推荐,易遇到会话/权限问题):创建 /etc/systemd/system/compton.service,ExecStart 指向 compton 可执行文件与配置,After=display-manager.service,并启用服务

四 验证与常见问题

  • 验证运行状态:
    • 查看进程:pgrep -x compton;查看日志:journalctl --user -u compton.service(或 compton --log-level=debug 前台运行)
    • 观察窗口阴影、透明度、拖影、撕裂等现象是否改善
  • 常见问题与优化:
    • 性能优先:将 backend 设为 glx,必要时关闭阴影(shadow = false)或减少透明度规则
    • 撕裂与卡顿:开启 vsync = true;若仍异常,尝试 glx-no-stencil、降低 fps
    • 多显示器:用 xrandr --query 检查输出名与布局,必要时在显示管理器或 xrandr 中先行配置
    • 资源限制:必要时用 cpulimit 限制 CPU 占用,例如:cpulimit -l 50 -p $(pgrep compton)
    • 驱动与兼容性:确保显卡驱动正确安装并支持 OpenGL;在虚拟机或旧显卡上可改用 backend = “xrender” 以提升兼容性

0