Ubuntu终端透明度设置教程

作者:技术拾光时间:2026-07-09 12:49:06浏览:195

在Ubuntu中设置终端透明度,首先要用ps命令查看父进程来确认终端类型,因为不同终端的配置方法完全不同。ptyxis使用dconf工具修改键值,gnome-terminal使用gsettings命令但需注意其UUID动态变化,Alacritty等修改配置文件,Compton可全局设置透明度但仅适用于X11会话。务必根据具体终端类型选择相应方法。

在 Ubuntu 系统中调整终端透明度并非一条命令即可完成。首先需要确认所使用的终端程序类型——gnome-terminal、ptyxis、konsole 或 alacritty,因为不同终端的配置方法差异较大,混用命令通常会导致报错或完全无效。

Ubuntu终端透明度设置教程

如何确认当前终端程序?

不要凭猜测判断,应通过进程查询:

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 下无图形界面设置、gnome-terminal 的 UUID 路径每次重装都可能改变、alacritty 完全不读取系统配置。动手前务必先用 ps -o comm= -p $PPID 确认终端类型,否则所有命令都是徒劳。