Compton 是一个轻量级的 X11 合成窗口管理器,可以显著改善 Linux 桌面的视觉效果和性能。以下是一份详细的配置指南,帮助您优化 Compton 设置以提升桌面性能。
sudo apt install compton
sudo pacman -S compton
sudo dnf install compton
创建或编辑配置文件 ~/.config/compton.conf
:
# 基本设置
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
# 性能优化
vsync = "opengl-swc";
sw-opti = true;
unredir-if-possible = true;
# 窗口阴影
shadow = true;
shadow-radius = 12;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-opacity = 0.3;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# 透明度设置
inactive-opacity = 0.9;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
opacity-rule = [
"90:class_g = 'Alacritty' && focused",
"80:class_g = 'Alacritty' && !focused"
];
# 淡入淡出效果
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [];
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
glx-swap-method = "exchange";
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
glx-swap-method = "buffer-age";
backend = "glx";
glx-no-stencil = true;
glx-use-copysubbuffermesa = true;
glx-no-rebind-pixmap = true;
有些应用程序可能与 Compton 不兼容,可以将其排除:
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c",
"class_g = 'Firefox' && argb"
];
# 禁用某些窗口的透明度
opacity-rule = [
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"100:class_g = 'XTerm'"
];
compton --config ~/.config/compton.conf -b
对于大多数桌面环境,可以将上述命令添加到启动应用程序中。
创建 ~/.config/systemd/user/compton.service
:
[Unit]
Description=Compton compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton --config ~/.config/compton.conf -b
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
然后启用服务:
systemctl --user enable compton.service
systemctl --user start compton.service
尝试不同的 vsync 设置:
vsync = "opengl"; # 或 "opengl-swc", "opengl-oml", "none"
尝试禁用某些效果:
shadow = false;
fading = false;
将问题应用程序添加到排除列表中。
使用以下命令监控 Compton 的性能影响:
watch -n 1 cat /proc/$(pidof compton)/status | grep -E 'VmRSS|Threads'
通过以上配置,您应该能够获得一个既美观又高性能的桌面环境。根据您的硬件和需求调整这些设置,找到最适合您的配置。