温馨提示×

Linux Compton配置:如何调整窗口透明度

小樊
44
2025-10-11 17:08:41
栏目: 智能运维

Linux Compton配置调整窗口透明度指南

一、准备工作

在调整透明度前,需确保已安装Compton。根据发行版选择以下命令安装:

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

安装完成后,继续以下步骤。

二、定位或创建配置文件

Compton的配置文件通常位于~/.config/compton.conf(用户级)或/etc/xdg/compton.conf(系统级)。若文件不存在,可通过以下命令创建:

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

三、调整透明度的核心配置选项

Compton通过关键参数控制透明度,以下是最常用的选项及说明:

1. 全局透明度(影响所有窗口)

  • 参数alpha(旧版本)或framebuffer-opacity(新版本)
  • 作用:设置所有窗口的整体透明度,取值范围0.0(完全透明)~1.0(完全不透明)。
  • 示例:设置为50%透明(0.5):
    alpha = 0.5  # 旧版本
    framebuffer-opacity = 0.5  # 新版本
    

2. 分类透明度(针对不同窗口设置)

  • 参数opacity-rule
  • 作用:通过窗口属性(如类名、名称、状态)设置差异化透明度,支持正则表达式。
  • 示例
    opacity-rule = [
        "90:class_g 'Firefox'",    # Firefox窗口透明度90%
        "60:name 'Terminal'",      # 终端窗口透明度60%
        "100:class_g 'Xephyr'"     # Xephyr窗口不透明(100%)
    ]
    

3. 聚焦/非聚焦窗口透明度

  • 参数active-opacity(聚焦窗口)、inactive-opacity(非聚焦窗口)
  • 作用:区分窗口焦点状态,提升视觉层次感。
  • 示例:聚焦窗口完全不透明(1.0),非聚焦窗口80%透明(0.8):
    active-opacity = 1.0
    inactive-opacity = 0.8
    

4. 排除特定窗口

  • 参数shadow-excludefocus-exclude
  • 作用:避免某些窗口(如通知中心、桌面图标)出现透明或阴影问题。
  • 示例:排除通知窗口(类名包含Notification):
    shadow-exclude = ["class_g ?= 'Notify-osd'"]
    

四、应用配置

修改配置文件后,需重启Compton使设置生效。常用命令:

# 杀死现有Compton进程并重启
killall compton && compton -c ~/.config/compton.conf &

# 若使用systemd(部分发行版)
sudo systemctl restart compton

五、动态调整透明度(可选)

若需临时调整某个窗口的透明度,可使用xprop工具结合Compton命令:

  1. 安装xpropsudo apt install x11-utils(Debian/Ubuntu)
  2. 获取窗口ID:运行xwininfo,点击目标窗口,记录输出的Window id
  3. 设置透明度:通过xprop修改窗口属性(需配合Compton的--alpha参数):
    compton -c ~/.config/compton.conf --alpha 0.5 &
    xprop -id <窗口ID> -f _NET_WM_WINDOW_OPACITY 32c -set _NET_WM_WINDOW_OPACITY 0x7fffffff  # 50%透明(0x7fffffff对应50%)
    

六、注意事项

  • 显卡驱动:确保显卡驱动支持OpenGL(推荐使用glx后端),否则可能出现透明效果异常或性能问题。
  • 桌面环境冲突:GNOME、KDE等桌面环境自带合成器(如Mutter、KWin),可能与Compton冲突。需在桌面环境设置中禁用内置合成器,或调整Compton的backend参数(如backend = "xrender")。
  • 性能优化:若透明效果导致卡顿,可关闭阴影(shadow = false)或降低模糊效果(blur-radius = 0)。

通过以上步骤,可灵活调整Compton的窗口透明度,打造个性化的桌面视觉效果。

0