温馨提示×

Compton如何设置透明度

小樊
47
2025-10-25 07:31:50
栏目: 编程语言

Compton设置透明度的方法

1. 安装Compton

在大多数Linux发行版中,可以通过包管理器快速安装Compton。例如:

  • Debian/Ubuntu:sudo apt update && sudo apt install compton
  • Fedora:sudo dnf install compton
  • Arch:sudo pacman -S compton
    安装完成后,可通过compton --version验证是否安装成功。

2. 配置Compton透明度(核心方法)

Compton的配置文件通常位于~/.config/compton.conf(若不存在,可手动创建)。以下是关键透明度参数及设置方式:

(1)全局透明度(基础设置)

通过opacity参数设置所有窗口的基础透明度(范围:0=完全透明,1=完全不透明)。例如,设置为0.8表示窗口整体80%不透明:

opacity = 0.8;

部分版本中,也可通过alpha参数实现相同效果(如alpha = 0.8)。

(2)针对性窗口透明度(高级设置)

使用opacity-rule参数为特定窗口设置差异化透明度,支持按类名(class_g)、**窗口名(name)**等条件匹配。例如:

opacity-rule = [
    "90:class_g 'Firefox'",    # Firefox窗口透明度90%
    "90:name 'Terminal'",      # 终端窗口透明度90%
    "100:class_g 'Xephyr'"     # Xephyr窗口完全不透明(100%)
];

常见匹配条件:

  • class_g:窗口类名(可通过xprop | grep WM_CLASS获取);
  • name:窗口标题(如“Terminal”);
  • instance:窗口实例名。

(3)排除特定窗口

若某些窗口(如dmenu、polybar)需要保持不透明,可使用focus-exclude参数排除。例如,排除屏幕左上角的dmenu窗口:

focus-exclude = "x 0 && y 0 && override_redirect true";

此配置会跳过符合条件(坐标为0,0且override_redirect为true)的窗口,使其不受透明度影响。

3. 启动Compton并应用设置

(1)手动启动(临时测试)

通过命令行启动Compton并指定配置文件,验证透明度效果:

compton -c ~/.config/compton.conf

若需后台运行,可添加-b参数:compton -b -c ~/.config/compton.conf

(2)开机自启动

将Compton添加到系统启动项,确保每次登录时自动运行:

  • 方法1(systemd):创建服务文件/etc/systemd/system/compton.service,内容如下:
    [Unit]
    Description=Compton Compositor
    After=graphical.target
    
    [Service]
    ExecStart=/usr/bin/compton -c ~/.config/compton.conf
    Restart=always
    
    [Install]
    WantedBy=graphical.target
    
    启用并启动服务:
    sudo systemctl enable compton
    sudo systemctl start compton
    
  • 方法2(桌面环境):通过GNOME/KDE的“启动应用程序”管理器,添加Compton启动项(命令同手动启动)。

4. 命令行快速调整(无需修改配置文件)

若不想编辑配置文件,可直接通过命令行参数启动Compton并设置透明度:

compton -b -r 0.5 -i 0.8

参数说明:

  • -b:后台运行;
  • -r 0.5:设置全局阴影透明度为50%(可选);
  • -i 0.8:设置聚焦窗口透明度为80%(可选)。
    此方式设置的参数仅在当前会话有效,重启后需重新输入。

注意事项

  • 显卡驱动:确保显卡驱动支持OpenGL和GLX(可通过glxinfo | grep "OpenGL version"验证),否则Compton可能无法正常工作;
  • 桌面环境冲突:GNOME、KDE等桌面环境的自带compositing管理器(如Mutter、KWin)可能与Compton冲突,需禁用桌面环境的compositing(如GNOME中进入“设置→外观→启用合成器”关闭);
  • 性能优化:透明效果会消耗显卡资源,若出现卡顿,可降低blur-radius(模糊半径)或关闭阴影(shadow-exclude = ["all"])。[1,2,3,4,5,6]

0