OSC 104 — 重置调色板颜色(单项或全部)
把调色板中某一项 —— 或整个 256 色调色板 —— 恢复为终端用户配置的默认值。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b]104;N\x07 (reset index N) \x1b]104\x07 (reset all)\\033[
\033]104;N\007 / \033]104\007\\e[
\e]104;N\a / \e]104\aESC [
ESC ] 104 ; N BEL / ESC ] 104 BELhex
1b 5d 31 30 34 3b <N> 07 / 1b 5d 31 30 34 07说明
OSC 104 是 OSC 4(设置调色板颜色)的复位伙伴。带一个数字参数(`\x1b]104;N\x07`)时,把调色板第 `N` 项(0..255)恢复为用户配置默认值;不带参数(`\x1b]104\x07`)时,一次性重置整个工作调色板的每一项。可在同一帧内用 `;` 分隔列出多个索引一并重置(`\x1b]104;0;1;7\x07`)。base16 主题、pywal 与录屏工具退出时常用此控制码撤销会话中应用的 OSC 4 改写 —— 否则下一个继承同一终端的 shell 会看到改过的调色板。OSC 104 配合 OSC 110 / 111 / 112(重置默认 fg / bg / 光标 —— 见 osc-reset-fg-bg)可完整撤销一次色彩管理会话。
规范出处: xterm-ctlseqs (OSC 104)
示例
printf '\033]104;1\007' # reset palette index 1 (red)\nprintf '\033]104\007' # reset entire palette\nprintf '\033]104;0;1;7\007' # reset indices 0, 1, 7 in one frameimport sys; sys.stdout.write('\x1b]104\x07') # reset whole palettefmt.Print("\x1b]104\x07")process.stdout.write('\x1b]104\x07')printf("\x1b]104\x07");终端支持
- xterm
- 支持
- Linux console (fbcon)
- 部分
- macOS Terminal.app
- 部分
- iTerm2
- 支持
- Windows Terminal
- 支持
- cmd.exe / ConPTY
- 不支持
- kitty
- 支持
- alacritty
- 支持
- WezTerm
- 支持
- Ghostty
- 支持
- GNOME Terminal
- 支持
- Konsole
- 支持
- tmux
- 不支持
- GNU screen
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 部分 | 部分 | 支持 | 支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |