Ubuntu 下 Compton 与 KWin 的集成教程
一 前置说明与准备
- Compton 是 X11 下的窗口合成器,提供阴影、透明度、淡入淡出等效果;KWin 是 KDE Plasma 的窗口管理器兼合成器。两者在同一会话中同时运行会造成冲突,正确做法是“二选一”。在 Wayland 会话下,Compton 不适用,应使用 KWin(Wayland 合成器)。如你使用的是 Ubuntu 22.04/24.04 的 KDE Plasma,默认已启用 KWin,通常无需再安装或启用 Compton。
二 方案一 使用 KWin 作为合成器(推荐)
- 确认会话类型:在登录界面齿轮图标中选择 Plasma (Wayland) 或 Plasma (X11)。
- 打开系统设置:进入 系统设置 → 工作区行为 → 桌面效果,按需开启/关闭特效(如透明、模糊、阴影等)。
- 调整渲染与同步:在 系统设置 → 显示与监视器 → 合成器 中可设置 vsync、渲染后端(OpenGL 2/3)等。出现卡顿或撕裂时优先切换渲染后端或关闭/开启 vsync 进行对比测试。
- 性能与外观权衡:在笔记本或较老显卡上,可减少特效数量、降低模糊半径以提升流畅度。
三 方案二 使用 Compton 替代 KWin(仅限 X11)
- 切换到 Plasma (X11) 会话(Wayland 不支持 Compton)。
- 安装 Compton(若已安装可跳过):
- sudo apt update
- sudo apt install compton
- 关闭 KWin 合成器:
- 系统设置 → 工作区行为 → 桌面效果 → 取消勾选“启用桌面效果”(此操作会停用 KWin 合成)。
- 或在终端执行:qdbus org.kde.KWin /Compositor org.kde.KWin.suspend
- 创建基础配置(示例):
- mkdir -p ~/.config
- nano ~/.config/compton.conf
- 示例内容(可按需调整):
- backend = “glx”
- vsync = true
- shadow = true
- shadow-radius = 6
- shadow-offset-x = -3
- shadow-offset-y = -3
- fade = true
- unredirect-translucent-windows = true
- 手动启动测试:
- killall compton 2>/dev/null
- compton --config ~/.config/compton.conf -b
- 设置自启动(KDE 推荐“会话与启动”方式):
- 系统设置 → 开机与关机 → 自动启动 → 添加脚本:
- 名称:Compton
- 命令:/usr/bin/compton --config /home/你的用户名/.config/compton.conf -b
- 验证与回退:
- 查看进程:ps -e | grep compton
- 出现异常(闪屏、卡顿、撕裂)时,优先切换 backend(glx/xrender)、关闭阴影/模糊,或直接恢复 KWin:
- qdbus org.kde.KWin /Compositor org.kde.KWin.resume
- 系统设置 → 工作区行为 → 桌面效果 → 勾选“启用桌面效果”。
四 常见问题与排错
- 会话不匹配:Wayland 下无法使用 Compton;请在登录界面切换到 Plasma (X11) 再尝试。
- 冲突与撕裂:同时启用 KWin 与 Compton 会冲突;出现撕裂可开启 vsync 或切换 OpenGL 渲染后端,必要时改用 KWin 的 Tearing Prevention(如 Full Scene Repaint)。
- 性能与兼容性:若某些应用透明/模糊异常,可在配置中为该应用添加阴影/模糊排除规则;显卡驱动(尤其是 NVIDIA 专有驱动)会影响合成性能与稳定性,建议使用较新驱动并测试不同后端。
- 项目状态:Compton 已不再积极维护,若长期遇到兼容性问题,可考虑迁移到 picom(Compton 的精神继任者),其配置思路与命令行参数与 Compton 高度相似。