温馨提示×

Compton在Ubuntu中的使用教程

小樊
42
2025-12-18 07:53:20
栏目: 智能运维

Compton 在 Ubuntu 中的使用教程

一 安装与准备

  • Ubuntu 上安装 Compton(适用于 X11 会话):
    • 更新索引并安装:sudo apt update && sudo apt install compton
  • 会话要求与限制:
    • Compton 是 X11 的窗口合成器,不适用于 Wayland。在登录界面请选择 Ubuntu on Xorg 会话,否则 Compton 不会生效。
  • 验证会话类型(终端):
    • echo $XDG_SESSION_TYPE 应输出 x11

二 快速上手

  • 生成默认配置(推荐):
    • mkdir -p ~/.config && nano ~/.config/compton.conf
  • 最小可用配置示例(保存到 ~/.config/compton.conf):
    backend = "glx"
    vsync = true
    shadow = true
    shadow-opacity = 0.3
    fade = true
    fade-delta = 30
    
  • 前台试运行(便于观察日志与报错):
    • compton --config ~/.config/compton.conf
  • 后台常驻运行(无边框模式):
    • compton --config ~/.config/compton.conf -b
  • 使配置生效的快捷重载方式:
    • killall compton && compton --config ~/.config/compton.conf -b

三 开机自启动

  • 方案一 GNOME 传统会话(Xorg):
    • 图形界面方式:安装并打开“启动应用程序”(gnome-session-properties),添加命令:compton --config ~/.config/compton.conf -b
    • 或创建自启动文件:~/.config/autostart/compton.desktop
      [Desktop Entry]
      Type=Application
      Exec=compton --config ~/.config/compton.conf -b
      Hidden=false
      NoDisplay=false
      X-GNOME-Autostart-enabled=true
      Name=Compton
      
  • 方案二 使用 Systemd 用户服务(推荐,登录即启动):
    • 创建服务:mkdir -p ~/.config/systemd/user/ && nano ~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Window Composer
      After=graphical-session.target
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf -b
      Restart=always
      RestartSec=5
      
      [Install]
      WantedBy=default.target
      
    • 启用并启动:
      systemctl --user daemon-reload
      systemctl --user enable --now compton.service
      
  • 方案三 系统级 Systemd 服务(多用户/全系统,较少用):
    • 创建:sudo nano /etc/systemd/system/compton.service
      [Unit]
      Description=Compton Window Composer
      After=display-manager.service
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton --config /etc/xdg/compton.conf -b
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用并启动:
      sudo systemctl daemon-reload
      sudo systemctl enable --now compton.service
      

四 常用配置与示例

  • 配置文件位置与结构:
    • 位置:~/.config/compton.conf/etc/xdg/compton.conf
    • 结构:顶层参数 + 可选段落(如 [blur][opacity-rule]
  • 关键参数速查:
    • backend:渲染后端,常用 glx(OpenGL,性能更好)或 xrender(兼容性更好)
    • vsync:垂直同步,true/false
    • shadow:窗口阴影,true/false
    • shadow-opacity:阴影不透明度(如 0.3
    • fade / fade-delta:窗口切换淡入淡出与步进(如 30 ms
    • opacity / alpha:窗口透明度(0.0–1.0
    • ignore_root:忽略根窗口透明度(部分桌面环境需要设为 true
  • 进阶示例(含模糊与窗口透明度规则):
    backend = "glx"
    vsync = true
    shadow = true
    shadow-opacity = 0.3
    fade = true
    fade-delta = 30
    ignore_root = true
    
    [blur]
    method = gaussian
    size = 10
    deviation = 5.0
    
    [opacity-rule]
    90:class_g 'Firefox'
    95:name 'Terminal'
    100:class_g 'Xephyr'
    
  • 命令行覆盖示例:
    • compton --config ~/.config/compton.conf --backend glx --vsync true --shadow-radius 5

五 常见问题与优化

  • 性能与撕裂:
    • 优先使用 backend = "glx";如遇到撕裂,开启 vsync = true;若显卡驱动较旧或出现异常,可尝试 xrender
  • 阴影与特定程序:
    • 对性能敏感或不需要阴影的程序可排除:shadow-exclude = ["class_g 'Firefox'"]
  • 重载与排错:
    • 修改配置后使用:killall compton && compton --config ~/.config/compton.conf -b
    • 前台运行可直接看到报错信息,便于定位问题。
  • 资源占用控制:
    • 临时限制 CPU 占用(示例限制为 50%):cpulimit -l 50 -p $(pgrep compton)
  • 桌面环境提示:
    • GNOME on Xorg:可用“启动应用程序”或 Systemd 用户服务
    • KDE Plasma:优先使用 KWin 内置合成器;若必须使用 Compton,请以 Xorg 会话手动启动并禁用 KWin 合成
    • Xfce:可关闭内置合成器后启动 Compton
  • 适用边界:
    • X11 有效;Wayland 会话下不会工作,请在登录界面切换到 Ubuntu on Xorg

0