在 Linux 中配置 Compton(或其分支如 picom
)时,可能会遇到一些常见错误。以下是一些典型问题及其解决方案:
inactive-opacity
或 frame-opacity
)。backend
配置(如 glx
或 xrender
)。ini
backend = "glx"; # 或 "xrender"
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = true;
inactive-opacity = 0.8; # 非活动窗口透明度
frame-opacity = 0.7; # 边框透明度
ini
vsync = true;
# 如果是 NVIDIA 驱动
backend = "glx";
glx-no-rebind-pixmap = true;
xrender
)。blur
)。ini
backend = "glx";
glx-no-stencil = true;
# 禁用模糊(除非必要)
blur-method = "none";
# 实验性优化(仅限 picom)
experimental-backends = true;
shadow-radius
、shadow-offset-x/y
)配置不当。no-shadow
)。ini
shadow = true;
shadow-radius = 12;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-exclude = [
"class_g = 'Firefox' && argb", # 排除 Firefox 透明窗口
"name = 'Notification'",
];
unredir-if-possible
)。ini
unredir-if-possible = true; # 全屏时禁用合成
# 排除特定应用
focus-exclude = [
"class_g = 'Steam'",
"class_g = 'mpv'",
];
xrender-sync-fence
(多显示器需同步)。ini
xrender-sync-fence = true; # 多显示器同步
# 分别配置显示器(如通过 arandr 生成命令)
~/.config/picom.conf
)。bash
picom --config ~/.config/picom.conf
如果问题仍存在,启用日志输出:
picom --log-level=debug --log-file=/tmp/picom.log
检查日志中的 error
或 warning
信息。
picom
是 Compton 的活跃分支,部分旧配置(如 glx-swap-method
)可能已废弃。for_window [all] floating enable
)。__GL_YIELD="USLEEP"
环境变量。通过逐步调整配置并观察日志,可以定位大多数问题。