插件窝 干货文章 Linux下Compton使用技巧有哪些

Linux下Compton使用技巧有哪些

Compton 窗口 shadow 透明度 752    来源:    2025-05-04

Compton 是 Linux 下轻量级的合成窗口管理器(compositor),主要用于改善窗口渲染、减少屏幕撕裂、提供透明效果等。以下是一些实用技巧和配置建议,帮助你充分发挥其功能:


1. 基础安装与启动

安装

  • Debian/Ubuntu:
    bash sudo apt install compton
  • Arch Linux:
    bash sudo pacman -S compton
  • Fedora:
    bash sudo dnf install compton

启动

  • 临时测试:
    bash compton --backend glx --vsync opengl-swc
  • 开机自启(如添加到 ~/.xinitrc 或桌面环境启动脚本):
    bash compton -b

2. 常用配置参数

编辑配置文件(通常为 ~/.config/compton.conf),以下是一些关键参数:

性能优化

backend = "glx";           # 使用 OpenGL 后端(或 "xrender" 兼容旧硬件)
vsync = "opengl-swc";      # 垂直同步(可选 opengl/opengl-swc/drm)
glx-no-stencil = true;     # 禁用模板缓冲提升性能
glx-swap-method = "buffer-age"; # 减少延迟

视觉效果

inactive-opacity = 0.8;    # 非活动窗口透明度
active-opacity = 1.0;      # 活动窗口透明度
opacity-rule = [           # 自定义透明度规则
  "90:class_g = 'Alacritty'",
  "80:class_g = 'Thunar'"
];
blur-background = true;    # 背景模糊(需内核支持)
blur-method = "kawase";    # 模糊算法(可选 "kernel" / "gaussian")

窗口规则

shadow = true;             # 启用窗口阴影
shadow-radius = 12;        # 阴影半径
shadow-offset-x = -5;      # 阴影偏移
shadow-offset-y = -5;
shadow-exclude = [         # 排除特定窗口阴影
  "class_g = 'Firefox'",
  "name = 'Notification'"
];

排除问题窗口

unredir-if-possible = true; # 全屏窗口时禁用合成(提升游戏性能)
unredir-if-possible-exclude = [ "class_g = 'mpv'" ]; # 排除例外

3. 高级技巧

动态调整透明度

通过快捷键动态修改窗口透明度(需 xdotool):

# 绑定快捷键(如 i3wm 配置)
bindsym $mod+plus exec "xdotool getactivewindow set_window_opacity 0.8"

修复屏幕撕裂

  • 如果 vsync 无效,尝试 DRM 后端(需硬件支持): ini backend = "glx"; vsync = "drm";

性能监控

查看 Compton 的 GPU 占用:

watch -n 1 cat /sys/kernel/debug/dri/0/amdgpu_pm_info

(路径根据显卡驱动调整)


4. 常见问题解决

画面闪烁或卡顿

  • 尝试更换后端: ini backend = "xrender"; # 兼容模式
  • 禁用某些特效: ini blur-background = false; fade-delta = 0;

与某些程序冲突

  • 排除特定窗口(如游戏或视频播放器): ini shadow-exclude = [ "class_g = 'Steam'" ]; unredir-if-possible-exclude = [ "class_g = 'mpv'" ];

多显示器配置

指定同步显示器(避免撕裂):

vsync = "opengl-swc";
xrender-sync-fence = true;

5. 配置文件示例

完整示例可参考 官方 Wiki 或以下精简版:

# ~/.config/compton.conf
backend = "glx";
vsync = "opengl-swc";
glx-no-stencil = true;
inactive-opacity = 0.9;
blur-background = true;
shadow = true;
shadow-radius = 10;

6. 替代方案

如果 Compton 表现不佳,可以尝试: - Picom: Compton 的活跃分支(推荐)
bash sudo apt install picom - Wayland 合成器:如 sway(Wayland 原生环境)


通过合理配置,Compton 能显著提升 Linux 桌面体验。建议根据硬件性能逐步调整参数,平衡效果与资源占用。