Electerm 终端背景:图片、文字与五个滤镜
终端就是一块矩形的文字,用上几千小时之后,它确实有点无聊。Electerm 允许你在它背后放点东西:一张照片、一个网络图片链接、你自己写的一段文字,或者仅仅是会话序号——然后用五个滤镜把它调暗,保证前面的输出依然看得清。
关键在于它不做什么。这不是窗口透明度,也不是终端主题的背景色。图片是画在文字背后的,文字本身的亮度一点都不损失——正因如此它可以整天开着,而窗口半透明不行。
设置在哪里
设置 → 终端 → 终端背景图片。
它是一个带文件选择按钮(选择文件)的文本框,可以接受四类值:
| 填入的内容 | 效果 |
|---|---|
路径,如 /home/you/Pictures/dusk.jpg |
从磁盘读取这张图片 |
链接,如 https://example.com/dusk.jpg |
从网络加载这张图片 |
[🚫] |
不要背景图 |
[📝] |
你自己写的文字,居中绘制 |
| 留空(默认) | electerm 自带的水印 |
Index / 🎨 RandomShape |
会话序号 / 随机生成的图案——仅全局设置可用 |
同一个字段在书签表单里也有,所以你可以给某一台主机单独设一张壁纸,其余主机沿用你的。这个下面会单独讲,因为它在两处行为不一样,很容易踩坑。
五个滤镜
当值是真实图片时,下方会出现五个数字输入框。它们不是滑块,而是数字输入框,标签直接写进字段里,所以每个显示为 Opacity: 1、Blur: 0 这样。
| 字段 | 默认值 | 范围 | 步长 |
|---|---|---|---|
Opacity |
1 |
0 – 1 | 0.05 |
Blur |
0 |
0 – 50 | 0.5 |
Brightness |
1 |
0 – 10 | 0.1 |
Grayscale |
0 |
0 – 1 | 0.05 |
Contrast |
1 |
0 – 10 | 0.1 |
它们按上面这个顺序依次作用,串成一条链:先模糊,再透明度,然后亮度、对比度、最后去色。
默认值全部是"无操作",这一点很对:放一张图进去就是原样渲染,只有当图片在 kubectl get pods 背后实在太吵时你才需要动滤镜。
两个实用配方:
- 图片很亮。
Opacity: 0.35、Grayscale: 0.5,别的都不用改。图片变成一层质感,而你的绿字红字依然保留含义。 - 图片很花。
Blur: 12、Opacity: 0.5。模糊是唯一能明确提升可读性的滤镜,因为它抹掉了和字形边缘抢注意力的高频细节。
注意当值为 [🚫]、Index 或 [📝] 时,这五个字段会从面板上消失——没有东西可作用。这是有意为之,不是渲染故障。
每种内置模式实际画了什么
默认(值为空)。 Electerm 会在每个布局分屏的当前会话背后画上自己的水印。它保持宽高比,在窄的分屏列里会缩小,而不是被两边裁掉。如果你从没设过背景图,你一直看到的就是它。
[🚫] 无背景。 水印根本不会画出来。如果你觉得水印碍眼又不想要替代品,就选它——而且书签级的 [🚫] 能压过全局图片,所以你可以只给某一台主机关掉背景。
[📝] 文字。 会弹出一个对话框:文字内容(最多 500 字符)、字号(12–200,默认 48)、颜色(默认 #ffffff)、字体(默认 Maple Mono)。它居中绘制在面板里,透明度 30%,保留换行。一个词比如 PRODUCTION 放在 120px 是非常好的警示牌;一整段话就不行,因为行高和折行不归你控制。
Index。 把会话的标签序号画成背景——就是标签栏那个小圆角块里的数字——画得非常淡、非常大。四宫格布局里,窗口管理器把你的面板打乱之后,这是最快分辨谁是谁的办法。
🎨 RandomShape。 渲染时现场生成图案。里面有八种生成器——流体动力学、量子波、相对论场、流体流、粒子物理、波的干涉、弦论、量子场——随机选一种,再随机一个色相、饱和度、亮度。由此带来两件事:
- 它每次你改背景相关设置都会重新生成,而且分屏里每个面板各拿一份图案,不是共用一个。
- 它是在面板正中放一小块,而不是铺满整个面板。
两个可以从外部观察到的结果
- 向终端查询背景色的 shell 拿到的是界面色。 查询终端背景色的 TUI 程序,得到的回答是主题的界面背景色,而不是终端调色板的背景色——因为终端调色板的背景正是被藏起来的那个东西。这是 #4407 修掉的:浅色界面主题下,查询背景色的程序拿到了错误的颜色。
- WebGL 渲染器会把图片盖住。 设置 → 终端 →
渲染类型里有dom和webGL两个选项。dom是默认值,也是背景图能用的那一个。切到webGL时,渲染器会在背景层上画出一整块不透明的画布。我拿同一个页面分别渲染两种情况验证过:dom下图片可见,webGL下被完全盖住。如果你的背景图"不起作用",先查这个设置。
书签级背景,以及那个坑
打开一个书签,翻到 终端背景图片。字段是同一个,但下拉选项只有 默认、[🚫] 和 [📝]——Index 和 🎨 RandomShape 只有全局设置里有,因为它们需要知道整个标签集合的情况。
坑在这里:保存书签时,如果图片路径为空,electerm 会把整个背景配置块删掉。所以书签级的"纯文字"背景——[📝] 但不带图片——会在保存时被悄悄丢弃。你必须设一个图片路径,这个配置块才会留下来。想让所有会话都用文字背景,就设全局。
另一件要知道的事是两级怎么合并。书签级的值优先——但有个小毛病。保存下来的书签会带上全部十个背景属性,你没动过的那些用应用默认值补齐,而合并时是逐属性做真值判断的。所以书签里值为 0 的属性会被当成"没设置",全局值反而赢了。实际结果就是:Blur 和 Grayscale 会从全局设置漏进来(它们的默认值是 0),而 Opacity、Brightness、Contrast 不会(默认值是 1,为真)。想让书签级滤镜行为可预期,要么把全局的 Blur、Grayscale 留在 0,要么在每个书签里把五个值都显式设一遍。
有一半标签根本没做翻译
知道这一点,你就不会以为自己装坏了。这个功能用到的字符串里有十个从来没被翻译过——没有英文、没有中文,任何语言都没有:
📝 TextBackground、Index、🎨 RandomShape、Opacity、Blur、Brightness、Grayscale、Contrast,再加上文字背景对话框里那两个标签。
Electerm 找不到翻译时会回退成字符串的内部名称,并把首字母大写。所以下拉菜单里真的显示 📝 TextBackground、Index、🎨 RandomShape,滤镜字段也真的显示 Opacity、Blur、Brightness、Grayscale、Contrast——在任何语言下都是这样,包括中文界面。
速查
- 设置位置: 设置 → 终端 →
终端背景图片;书签表单里也有同名一项。 - 取值: 文件路径、
https://链接、[🚫](无)、[📝](文字)、Index或🎨 RandomShape(仅全局),留空则是水印。 - 滤镜:
Opacity0–1、Blur0–50、Brightness0–10、Grayscale0–1、Contrast0–10——串成一条链作用,在[🚫]/Index/[📝]下隐藏。 - 文字背景: 居中、透明度 30%、字号 12–200、默认字体
Maple Mono。 - 想要背景图就不要把
渲染类型设成webGL——画布会把它盖住。 - 书签级的纯文字背景会在保存时被丢弃。 要么设图片路径,要么把文字设成全局。
延伸阅读:窗口透明度是让 electerm 变"透"的另一条路——它会把整个窗口连同文字一起淡化,和背景图是两种不同的取舍。主题编辑器讲的是终端调色板本身,而终端图像支持讲的是输出里出现图片(sixel、iTerm 内联图片),不是背后的图片。
