Ubuntu的终端透明度没有统一的设置方法,需要先确认终端程序(如ptyxis、gnome-terminal-server、kitty等)、会话类型(X11/Wayland)以及是否启用合成器。ptyxis需要通过dconf写入opacity值(0-1的小数),gnome-terminal则需要动态解析profile UUID来配置gsettings。在X11环境下,可以使用Compton的opacity-rule按照name或class_g来设置窗口透明度,而在Wayland环境下,Compton则无法使用。

Ubuntu 终端透明度没有“一键通用设置”,它取决于你用的是哪个终端程序、是否启用合成器(如 Compton)、以及当前是 X11 还是 Wayland 会话——三者不匹配,就设不了。
确认你实际在用的终端程序
很多人以为自己在用 gnome-terminal,但 Ubuntu 24.10+/Fedora 40+ 默认已换成 ptyxis;也有人装了 kitty 或 alacritty 却去查 GNOME 的配置方式。先运行:
ps -o comm= -p $PPID
输出有可能是ptyxis、gnome-terminal-server、konsole、xfce4-terminal、kitty等等。要知道,gnome-terminal-server才是代表你正在使用GNOME Terminal;而ptyxis是新版默认终端,它的配置方式可是和其他的完全不一样哦。
- 如果输出是
kitty、alacritty、wezterm:它们的透明度由自身配置文件控制(如~/.config/kitty/kitty.conf中的background_opacity),和桌面环境无关 - 如果输出是
ptyxis:必须用dconf写入,gsettings不生效 - 如果输出是
gnome-terminal-server:用gsettings,但 profile 路径是动态 UUID,不能硬编码 - Wayland 下
xprop类工具无效,且部分终端(如老版 gnome-terminal)根本不支持透明背景
PTYXIS 终端:dconf 是唯一有效方式
Ubuntu 24.10+ 默认终端 ptyxis 不提供 GUI 设置项,gsettings 读写都失败。必须用 dconf 直接操作配置树:
dconf write /org/gnome/Ptyxis/Profiles/$(dconf read /org/gnome/Ptyxis/default-profile-uuid | sed -e "s/'//g")/opacity 0.75
关键点:
- 值必须是 0–1 的小数(如
0.75),不是百分比(75或"75%"错) - 执行后需新开一个
ptyxis窗口才生效,已打开的窗口不会刷新 - 若报错
No such key,先运行dconf list /org/gnome/Ptyxis/Profiles/看实际 profile 路径是否存在 - 路径中
default-profile-uuid必须解析出真实 UUID,漏掉sed去单引号会导致路径错误
GNOME Terminal:gsettings 路径必须动态解析
gnome-terminal 的透明度键名是 background-opacity,但它不在固定路径下,而是在每个 profile 的 UUID 子路径里。安全写法是:
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default | awk -F ' '{print $2}')/ background-opacity 0.6
但这个命令在 profile 名含空格或特殊字符时可能失效。更稳的做法是:
- 先运行
gsettings get org.gnome.Terminal.ProfilesList list查看所有 profile UUID 列表 - 手动挑出你要改的那个(比如
'b1dcc9dd-5262-4d8d-a863-c897e6d979b9') - 再执行
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ background-opacity 0.6 - 该设置只对新启动的窗口生效;旧窗口需关闭重开,或右键 → “新建终端”才更新
Compton 全局窗口透明:仅限 X11,Wayland 下无效
如果你用的是 X11(登录时选 “Ubuntu on Xorg”),且终端本身不支持透明背景,可以用 compton 对整个窗口做合成透明。编辑 ~/.config/compton.conf,添加:
[opacity] opacity-rule = ["70:name 'Terminal'", "85:class_g 'kitty'"]
注意:
name 'Terminal'匹配窗口标题含 “Terminal” 的进程(如gnome-terminal窗口标题通常是 “Terminal”)class_g 'kitty'匹配kitty的窗口类名,可通过xprop | grep WM_CLASS点击窗口获取- Wayland 会话下
compton无法工作,此时只能依赖终端自身支持 - 若终端用了模糊背景(如
wezterm的blur配置),compton的透明叠加可能导致视觉异常
最常被忽略的一点:透明度生效的前提是终端窗口本身没禁用 alpha 通道——比如某些终端在配置里显式设置了 background-color rgba(...) 但 alpha=1,那再调 compton 也没用。