温馨提示×

如何正确设置ubuntu compton参数

小樊
48
2026-01-02 22:40:41
栏目: 智能运维

Ubuntu 下正确设置 Compton 参数

一 环境准备与注意事项

  • 确认会话类型:Compton 是 X11 的窗口合成器,不能在 Wayland 会话下工作;请先登录到 Ubuntu on Xorg 会话。
  • 安装与检查:在终端执行 sudo apt update && sudo apt install compton;用 ps -e | grep compton 检查是否已运行。
  • 桌面环境兼容性:与 GNOME、KDE 等自带合成器的桌面环境并用可能产生冲突,出现卡顿、撕裂或阴影异常时,建议在这些环境中禁用自带合成器或改用轻量 WM(如 Openbox、i3)

二 配置文件与关键参数

  • 配置文件位置:优先使用用户级配置 ~/.config/compton.conf;系统级可用 /etc/xdg/compton.conf。如文件不存在可新建:mkdir -p ~/.config && nano ~/.config/compton.conf
  • 最小可用示例(保存为上面路径的文件):
# 渲染与同步
backend = "glx"          # 优先使用 GPU 加速;若异常可改为 "xrender"
vsync = "true"           # 减少撕裂,代价是可能略降帧率

# 阴影与模糊
shadow = true
shadow-radius = 12
shadow-offset-x = 0
shadow-offset-y = 4
shadow-exclude = [
  "class_g = 'Conky'",
  "class_g = 'Polybar'",
  "_NET_WM_WINDOW_TYPE@:a = 'dock'"
]

# 透明度与窗口规则
opacity-rule = [
  "90:class_g = 'URxvt'",
  "0.95:class_g = 'Firefox'"
]

# 帧率与渲染质量
fps-limit = 60
use-damage = true
  • 关键参数说明:
    • backend:渲染后端,常用 glx/xrender;glx 通常性能更好,xrender 兼容性更高。
    • vsync:垂直同步,建议设为 true 以减少撕裂。
    • shadow / shadow-exclude:窗口阴影与排除列表,排除面板、悬浮控件可提升观感与性能。
    • opacity-rule:按窗口类设置透明度(0.0–1.0)。
    • fps-limit / use-damage:帧率上限与损伤区域优化,平衡流畅度与 CPU/GPU 占用。

三 启动与自启

  • 手动启动与热重载:
    • 启动:compton --config ~/.config/compton.conf
    • 重启:killall compton && compton --config ~/.config/compton.conf
  • 会话自启(推荐随会话启动而非 systemd 用户服务):
    • 在桌面环境的“启动应用程序”中加入命令:compton --config ~/.config/compton.conf
    • 若确需 systemd 用户服务,示例(注意路径与权限):
# ~/.config/systemd/user/compton.service
[Unit]
Description=Compton Compositor
After=graphical-session.target

[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=on-failure

[Install]
WantedBy=graphical-session.target

启用:systemctl --user daemon-reload && systemctl --user enable --now compton.service

四 性能优化与常见问题

  • 性能优化要点:
    • 优先 backend = “glx”,确保显卡驱动正确;出现花屏/崩溃再退回 xrender
    • 不需要时关闭阴影:shadow = false
    • 减少透明与模糊区域,必要时降低 fps-limit
    • 使用 shadow-excludeopacity-rule 精准控制窗口效果,避免全局透明。
  • 常见问题排查:
    • 撕裂:开启 vsync = “true”;仍撕裂可尝试切换 backend
    • 卡顿/高占用:关闭阴影、降低帧率、减少透明;用 top/htop 观察 compton 占用。
    • 与桌面环境冲突:在 GNOME/KDE 中禁用自带合成器或改用 Openbox/i3
    • 笔记本与省电:合成器会增加一定功耗,移动场景可按需关闭。

0