在 Ubuntu 系统中设置终端透明度,并非“一条命令就能搞定”这么简单。你需要先确认自己当前使用的是哪个终端模拟器——gnome-terminal、ptyxis、konsole 还是 alacritty,因为不同终端的配置方法差异极大,盲目套用命令往往只会导致错误提示,甚至毫无反应。

如何判断正在使用的终端类型?
不用猜测,直接通过进程命令查看即可:
ps -o comm= -p $PPID
执行后会输出类似 ptyxis、gnome-terminal-server、konsole 或 alacritty 的结果。需特别注意:Ubuntu 24.10 及以上版本已经将默认终端更换为 ptyxis,不再是 gnome-terminal。许多用户仍旧沿用旧版命令,却发现完全不起作用。
- 若输出为
ptyxis:必须使用dconf写入配置,因为图形界面中的透明度设置已被移除 - 若输出为
gnome-terminal-server:使用gsettings操作,但路径中包含动态 UUID,硬编码路径会导致失败 - 若输出为
alacritty、kitty、wezterm:这些终端不读取系统设置,只依赖自己的配置文件(如~/.config/alacritty/alacritty.yml) - 若输出为
xterm、rxvt等传统 X11 终端:可使用xprop临时设置,但无法持久保存,且在 Wayland 环境下完全失效
ptyxis 终端透明度:dconf 是唯一配置方法
新版 Ubuntu 和 Fedora 中的 ptyxis 既无法通过 gsettings 调节,也没有图形界面开关。唯一途径是使用 dconf 直接写入 profile 的配置路径:
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% 不透明度(即 25% 透明度),如果写成75或"75%"则会报错 - 执行命令后,需要新开一个
ptyxis窗口才能看到透明度变化,已打开的窗口不会自动更新 - 若出现
No such key错误,请先运行dconf list /org/gnome/Ptyxis/Profiles/确认实际路径是否存在
gnome-terminal 透明度设置:gsettings 路径不可固定
gnome-terminal 的透明度键名为 background-opacity,但该键位于 profile 的动态路径中:
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,手动找到对应的 UUID(带短横线的字符串) - 然后将 UUID 填入路径中,例如:
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8/ background-opacity 0.6 - 此设置仅对新启动的窗口生效;已有窗口需关闭后重新打开,或通过右键菜单选择“新建终端”才能看到效果
Compton 全局窗口透明度(非终端专属,影响所有窗口)
如果你使用的是 Compton(或其分支 picom),它能够统一控制所有 X11 窗口的透明度,终端窗口也不例外。但需注意:Compton 的透明度设置与终端自身的透明度设置是两套逻辑,叠加使用可能导致画面过暗或出现闪烁。
在 ~/.config/compton.conf 中添加:
[core]alpha = 0.85opacity-rule = ["95:class_g 'gnome-terminal'", "95:class_g 'ptyxis'", "95:name 'Terminal'"]
要点:
alpha为全局默认透明度,opacity-rule为覆盖规则,其优先级更高- 使用
class_g(窗口类名)进行匹配比使用name(窗口标题)更稳定,因为标题可能随内容变化,而类名通常固定 - 在 Wayland 环境下 Compton 无法工作,该方法仅适用于 X11 会话
- 修改配置后需重启 Compton:
killall compton && compton -c ~/.config/compton.conf &
总而言之,设置终端透明度本身并不复杂,真正的难点在于终端程序与桌面环境的组合五花八门——ptyxis 在 GNOME Wayland 下不提供 GUI 设置、gnome-terminal 的 UUID 路径每次重装都可能变化、alacritty 完全不读取系统配置。因此,在动手之前,务必先用 ps -o comm= -p $PPID 确认终端类型,否则所有命令都可能徒劳无功。
