温馨提示×

如何在Linux上启用Compton配置

小樊
39
2025-11-30 08:01:44
栏目: 智能运维

在Linux上启用Compton配置的完整步骤

一 安装与准备

  • 在常见发行版上安装 Compton(若已安装可跳过):
    • Debian/Ubuntu 系:sudo apt-get update && sudo apt-get install compton
    • Arch 系:sudo pacman -S compton
    • Fedora/RHEL 系:sudo dnf install compton
  • 准备配置文件(如文件不存在则创建):
    • 用户级:mkdir -p ~/.config && nano ~/.config/compton.conf
    • 系统级:sudo mkdir -p /etc/xdg && sudo nano /etc/xdg/compton.conf
  • 说明:Compton 是X11 下的窗口合成器,通常配合 Openbox、i3 等窗口管理器使用;在 Wayland 会话中不适用。

二 启用方式

  • 方式A 手动前台启动(便于调试)
    • 直接运行:compton --config ~/.config/compton.conf
    • 若需后台运行:compton --config ~/.config/compton.conf &
    • 快速重启(先杀旧进程再启):pkill compton && compton --config ~/.config/compton.conf &
  • 方式B 使用 Systemd 用户服务(推荐,登录即自动启动)
    • 创建服务文件:mkdir -p ~/.config/systemd/user && nano ~/.config/systemd/user/compton.service
    • 写入示例(注意将 ExecStart 路径替换为 which compton 的实际路径):
      [Unit]
      Description=Compton Window Composer
      After=graphical-session.target
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf --log-file %h/.local/share/compton.log
      Restart=on-failure
      Environment=XDG_RUNTIME_DIR=/run/user/%U
      
      [Install]
      WantedBy=graphical-session.target
      
    • 启用并启动:
      systemctl --user daemon-reload
      systemctl --user enable --now compton.service
      
    • 如需系统级服务(所有用户),可用 /etc/systemd/system/compton.service,并在 [Install] 中使用 WantedBy=multi-user.target,然后用 sudo systemctl enable --now compton 启用。

三 验证与常用配置

  • 验证运行状态
    • 查看进程:ps -e | grep compton
    • 查看服务:systemctl --user status compton(或 sudo systemctl status compton
  • 最小可用配置示例(写入 ~/.config/compton.conf
    backend = "glx"
    vsync = true
    shadow = true
    shadow-exclude = [ "class_g = 'Dock'" ]
    glx-no-stencil = true
    
  • 修改配置后应用
    • 手动模式:pkill compton && compton --config ~/.config/compton.conf &
    • Systemd 模式:systemctl --user restart compton.service
  • 提示:若使用 NVIDIA 专有驱动,可尝试 backend = "glx" 并开启 glx-no-stencil 以提升兼容性;如出现撕裂或卡顿,可切换 vsync 或改用 xrender 后端进行对比。

四 常见问题排查

  • 查看日志定位问题
    • Systemd:journalctl --user -u compton.service -b(或 sudo journalctl -u compton -b
    • 自定义日志:在配置中设置 log-file 并查看对应文件
  • 资源占用高或画面异常
    • top/htop 观察 CPU/内存;用 ps aux | grep compton 确认启动参数
    • 临时关闭特效(如 shadowopacity)对比性能差异
  • 桌面环境冲突
    • 若桌面自带合成器(如部分 GNOME/KDE 配置),需先关闭内置合成器以避免冲突
  • 驱动与兼容性
    • 确保 显卡驱动 正确安装并支持 OpenGL;必要时切换 backend 或禁用部分特效。

0