Linux Compton配置高级技巧
通过opacity-rule选项可实现不同窗口的差异化透明度设置,提升视觉层次感。规则采用[ "条件: 透明度值" ]格式,支持通配符*?匹配窗口名称或类名。例如:
opacity-rule = [
"90:name *? 'Firefox'", # Firefox窗口透明度设为90%
"90:name *? 'Terminal'", # 终端窗口透明度设为90%
"66:name *? 'I3bar'", # i3状态栏透明度设为66%
"100:class_g 'Xephyr'" # Xephyr窗口完全不透明(100%)
];
该配置可根据应用场景灵活调整,避免全局透明导致的视觉混乱。
为减少不必要的性能消耗,可通过shadow-exclude排除特定窗口的阴影效果。常见排除项包括通知栏、状态栏、弹出菜单等。例如:
shadow-exclude = [
"name 'Notification'", # 排除通知窗口
"class_g ? 'Dmenu'", # 排除Dmenu(动态菜单)
"class_g ? 'Dunst'", # 排除Dunst(通知守护进程)
"_NET_WM_STATE@:32a * '_NET_WM_STATE_HIDDEN'", # 排除隐藏窗口
"_GTK_FRAME_EXTENTS@:c" # 排除GTK框架扩展的窗口(如部分GTK应用)
];
通过精准排除,既能保留常用窗口的阴影特效,又能提升合成效率。
背景模糊可增强窗口的层次感,提升桌面视觉体验。需开启bg-blur选项并调整模糊参数:
blur = true; # 启用背景模糊
blur-method = "gaussian"; # 模糊算法(可选"gaussian"或"box",gaussian效果更自然)
blur-size = 10; # 模糊核大小(数值越大,模糊效果越明显)
blur-deviation = 5.0; # 模糊标准差(控制模糊强度,数值越大,边缘越柔和)
注意:背景模糊对GPU性能有一定要求,低性能设备建议关闭或降低参数值。
glx(OpenGL)后端替代xrender,可显著提升合成性能(尤其对现代显卡)。配置示例:backend = "glx";
shadow = false; # 关闭窗口阴影
bg-blur = false; # 关闭背景模糊
vsync(如60Hz显示器设为true),可减少画面撕裂,但可能增加输入延迟,需根据实际体验调整。通过exclude选项可排除不需要Compton处理的窗口(如游戏、视频播放器),避免特效干扰。例如:
exclude = [
"class_g ? 'vlc'", # 排除VLC播放器
"class_g ? 'Steam'" # 排除Steam客户端
];
该配置可提升全屏应用的性能,避免特效导致的卡顿。
为确保Compton随系统启动自动运行,可创建Systemd服务文件:
sudo nano /etc/systemd/system/compton.service
添加以下内容(需根据实际配置文件路径调整):
[Unit]
Description=Compton Window Composer
After=xorg.service
[Service]
ExecStart=/usr/bin/compton --config /etc/compton.conf
RestartOnFailure=yes
[Install]
WantedBy=multi-user.target
保存后执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable compton
sudo systemctl start compton
该方式可确保Compton在系统启动时自动运行,无需手动启动。
compton -g命令可显示Compton的窗口覆盖情况,帮助调试窗口合成问题。ps aux | grep compton命令查看Compton进程的CPU和内存使用情况,及时发现性能瓶颈。