温馨提示×

为什么linux compton无透明效果

小樊
47
2026-10-03 19:46:02
栏目: 智能运维

Compton(以及它的继任者 picom)在 Linux 下“没有透明效果”通常不是 Compton 本身坏了,而是桌面环境 / 窗口管理器 / 配置 / 显卡驱动没配合好。下面按最常见原因给你排查。


一、你用的不是“支持合成的窗口管理器”

Compton 只是合成器(compositor),它不能凭空让不支持透明的 WM 变透明。

情况 1:用了“平铺/极简 WM”但没开透明支持

如:

  • i3(默认不透明)
  • bspwm
  • awesome(需配置)
  • openbox(需要主题支持)

✅ 解决:

  • 确认 Compton 已运行:compton &
  • 在终端里测试:
    xprop | grep _NET_WM_WINDOW_OPACITY
    
    点窗口,如果没输出,说明 WM 没给窗口透明度属性。

二、没有真正运行 Compton(最常见)

很多人以为“装了就有透明”。

检查:

ps aux | grep compton

或

pgrep compton

如果没有:

compton --config ~/.config/compton.conf &

⚠️ 注意:

  • i3 / bspwm 里必须写进启动配置
  • 有些发行版默认用的是 picom

三、配置文件根本没写透明规则

Compton 默认不会自动给所有窗口透明。

最小可用配置示例(~/.config/compton.conf)

opacity-rule = [
  "90:class_g = 'URxvt'",
  "85:class_g = 'Alacritty'",
  "80:class_g = 'Firefox'"
];

或者全局半透明(不推荐):

opacity = 0.9;

四、你期望的是“背景透明”,但窗口不支持

很多人说“终端没透明”,其实是:

  • 终端本身不支持透明(如某些老 bash)
  • 或没开 true transparency

终端透明正确做法

以 URxvt 为例:

URxvt.depth: 32
URxvt.background: rgba:0000/0000/0000/cccc

Alacritty:

background_opacity: 0.8

五、显卡驱动 / OpenGL 问题

Compton 需要:

  • X11
  • 合成支持
  • 显卡驱动正常

检查:

glxinfo | grep "direct rendering"

如果是 No → 驱动有问题。


六、你用的是 Wayland

Compton / picom 不支持 Wayland。

如果你是:

  • GNOME (Wayland)
  • KDE (Wayland)
  • Sway

❌ Compton 没用
✅ 用 WM 自带合成器


七、被桌面环境“抢走了合成”

例如:

  • XFCE 开了自带合成
  • KDE 开了混成

解决:

  • 关掉系统合成
  • 再跑 compton

快速自检清单 ✅

  1. pgrep compton 有进程?
  2. 用 X11 不是 Wayland?
  3. 配置文件写了 opacity-rule?
  4. 窗口本身支持透明?
  5. 显卡驱动正常?

如果你愿意,可以告诉我:

  • 发行版
  • 桌面环境 / WM
  • X11 还是 Wayland
  • 哪个程序“不透明”

我可以直接给你一份可用配置。

0 踩