Ubuntu如何设置具体的终端透明度
在Ubuntu中设置终端透明度,首先要用ps命令查看父进程来确认终端类型,因为不同终端的配置方法完全不同。ptyxis使用dconf工具修改键值,gnome-terminal使用gsettings命令但需注意其UUID动态变化,Alacritty等修改配置文件,Compton可全局设置透明度但仅适用于X11会话。务必根据具体终端类型选择相应方法。
设置终端透明度这事儿,在 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 窗口的透明度,包括终端。但要注意:它和终端自身的透明设置是两套逻辑,叠加后可能导致画面过暗或闪烁。
在 ~/.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 确认一下身份,否则所有命令都是白忙活。


































