游乐游手机版
首页/编程语言/文章详情

Compton透明度设置方法详解

时间:2026-06-17 06:46
Compton通过配置文件设置窗口透明度,支持全局和针对性透明度控制。安装命令因发行版而异,配置参数包括opacity和opacity-rule。可排除特定窗口,支持手动启动和开机自启。需注意显卡驱动与桌面环境合成器冲突。

Compton 设置透明度其实并不复杂。许多 Linux 用户在美化桌面时,经常需要调整窗口透明度——例如让终端半透明、浏览器呈现朦胧效果,或让特定工具始终保持不透明。Compton 正是实现这些需求的理想工具,其配置方式非常灵活。接下来将详细说明核心步骤与关键参数,按照指引操作即可。

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 表示完全透明,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窗口完全不透明
];

匹配条件如何获取?最简单的方法是在终端运行 xprop | grep WM_CLASS,然后点击目标窗口,即可输出其类名和实例名。name 字段对应窗口标题,例如 'Terminal' 即终端窗口的标题。

(3)排除特定窗口

某些窗口如 dmenu、polybar,最好保持完全不透明,以免重叠后影响观感。利用 focus-exclude 参数即可排除它们:

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

这条规则的含义是:坐标位于 (0,0) 且 override_redirect 属性为 true 的窗口,将跳过透明度处理。dmenu 默认位于左上角,符合该条件,因此不受影响。

3. 启动Compton并应用设置

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

可先执行一条命令测试效果:compton -c ~/.config/compton.conf。添加 -b 参数可使其在后台运行:compton -b -c ~/.config/compton.conf。测试无误后再考虑设置开机自启。

(2)开机自启动

两种常用方式:

  • 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 comptonsudo systemctl start compton 即可启用。

  • 桌面环境设置:在 GNOME/KDE 的“启动应用程序”管理器中添加一条启动命令(与手动启动相同),下次登录后会自动运行。

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

若不想编辑配置文件,可直接带参数启动:compton -b -r 0.5 -i 0.8。其中 -b 表示后台运行,-r 0.5 设置全局阴影透明度为 50%,-i 0.8 设置聚焦窗口透明度为 80%。需要注意的是,这种方式设置的参数仅对当前会话有效,重启后需重新输入。

注意事项

  • 显卡驱动:Compton 依赖 OpenGL 和 GLX。先运行 glxinfo | grep "OpenGL version" 检查。若输出无版本信息,说明驱动未正确安装,需先解决驱动问题。
  • 桌面环境冲突:GNOME 的 Mutter、KDE 的 KWin 均自带合成管理器,与 Compton 冲突,可能引发问题。请前往桌面设置关闭自带合成器。例如 GNOME 中,进入“设置→外观→启用合成器”并关闭。
  • 性能优化:透明度效果消耗显卡资源,若感觉卡顿,可降低 blur-radius(模糊半径)或直接关闭阴影(shadow-exclude = ["all"])。流畅度与视觉效果难以兼得,需根据实际情况取舍。
来源:https://www.yisu.com/ask/79919941.html
上一篇lsnrctl添加Oracle监听器的详细步骤与方法 下一篇Ubuntu系统下PHPStorm代码自动补全开启方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CentOS与Golang打包常见兼容性问题探讨
编程语言 · 2026-07-01

CentOS与Golang打包常见兼容性问题探讨

CentOS与Golang打包的兼容性问题集中在glibc版本不匹配、交叉编译环境变量错误、依赖库缺失及Go依赖管理不规范。可通过Docker容器编译、选择兼容Go版本、正确设置GOOS GOARCH环境变量、安装对应开发包及使用GoModules解决。

CentOS中Fortran与Python如何协同工作从入门到实战完整教程
编程语言 · 2026-07-01

CentOS中Fortran与Python如何协同工作从入门到实战完整教程

在CentOS中,Fortran与Python可通过f2py、SWIG、共享库调用或subprocess协同。f2py封装Fortran为Python模块,支持数组运算;共享库需手动对齐数据类型;系统调用适合独立计算。

CentOS中Golang打包优化方法
编程语言 · 2026-07-01

CentOS中Golang打包优化方法

在CentOS中优化Golang编译打包,可显著提升编译速度并减小二进制文件体积。关键技巧包括:设置环境变量、使用Go模块管理依赖、编译时添加-ldflags= "-s-w "去除调试信息、利用UPX工具压缩、运行strip清理符号表,以及优化cgo内C代码的编译选项。综合运用这些方法能有效优化最终程序。

在CentOS系统中cpustat与其他工具协同使用的完整方法
编程语言 · 2026-07-01

在CentOS系统中cpustat与其他工具协同使用的完整方法

cpustat作为sysstat包的CPU监控工具,可通过管道与grep等命令配合过滤数据,利用脚本自动记录带时间戳的日志,或结合图形工具查看,也可格式化输出后接入Zabbix、Grafana等Web监控系统,实现可视化与告警。

CentOS中readdir与其他Linux发行版的差异
编程语言 · 2026-07-01

CentOS中readdir与其他Linux发行版的差异

CentOS基于RHEL,与Ubuntu、Debian、Fedora在包管理器(yum dnfvsapt)、默认文件系统(XFSvsext4)等存在差异,但readdir等系统调用遵循POSIX标准,行为一致。