插件窝 干货文章 Linux Compton配置指南

Linux Compton配置指南

Compton true STATE config 376    来源:    2025-05-09

Linux Compton 配置指南

Compton 是一个轻量级的 X11 合成窗口管理器,主要用于提供窗口透明、阴影、淡入淡灭等视觉效果。以下是 Compton 的详细配置指南。

1. 安装 Compton

Ubuntu/Debian 系

sudo apt install compton

Arch Linux

sudo pacman -S compton

Fedora

sudo dnf install compton

2. 基本配置

Compton 的配置文件通常位于 ~/.config/compton.conf/etc/xdg/compton.conf

创建配置文件

mkdir -p ~/.config
touch ~/.config/compton.conf

示例配置文件内容

# 基本设置
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl-swc";

# 阴影设置
shadow = true;
shadow-radius = 12;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-opacity = 0.5;
shadow-exclude = [
    "name = 'Notification'",
    "class_g = 'Conky'",
    "class_g ?= 'Notify-osd'",
    "class_g = 'Cairo-clock'",
    "_GTK_FRAME_EXTENTS@:c"
];

# 透明度设置
inactive-opacity = 0.8;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
opacity-rule = [
    "90:class_g = 'Alacritty' && focused",
    "80:class_g = 'Alacritty' && !focused",
    "95:class_g = 'Code' && focused",
    "85:class_g = 'Code' && !focused"
];

# 淡入淡出效果
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [];

# 其他设置
detect-rounded-corners = true;
detect-client-opacity = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;
detect-transient = true;
detect-client-leader = true;
unredir-if-possible = true;
focus-exclude = [];

3. 常用启动方式

直接启动

compton --config ~/.config/compton.conf -b

作为守护进程启动

compton -b

使用特定后端

compton --backend glx -b

4. 高级配置选项

性能优化

# 使用更高效的渲染后端
backend = "xrender";

# 禁用某些效果以提高性能
shadow = false;
fading = false;

# 减少重绘
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;

多显示器配置

# 指定在特定显示器上启用阴影
shadow-exclude = [
    "output = 'HDMI-0'"
];

# 不同显示器使用不同设置
xinerama-shadow-crop = true;

特定应用程序排除

# 排除某些应用程序的透明效果
opacity-rule = [
    "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_HIDDEN'"
];

5. 故障排除

常见问题

  1. 屏幕闪烁或撕裂

    • 尝试不同的 vsync 模式: ini vsync = "opengl"; # 或 "opengl-swc", "opengl-oml", "xpresent"
    • 或者完全禁用 vsync: ini vsync = false;
  2. 性能问题

    • 使用更轻量级的后端: ini backend = "xrender";
    • 禁用阴影和透明度效果
  3. 特定应用程序不显示透明效果

    • 检查应用程序是否被排除在规则外
    • 确保应用程序支持透明效果

调试模式

compton --config ~/.config/compton.conf --log-level debug

6. 与桌面环境集成

自动启动

将以下内容添加到 ~/.xinitrc 或桌面环境的自动启动设置中:

compton --config ~/.config/compton.conf -b

替代方案

如果你使用的是较新的系统,可以考虑使用 picom (Compton 的分支和继任者),它提供了更多功能和更好的性能。

通过以上配置,你可以根据个人喜好和硬件性能调整 Compton 的视觉效果,获得更美观的桌面体验。