跳到主要内容
ansicode

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\a
ESC [ESC ] 104 ; N BEL / ESC ] 104 BEL
hex1b 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)

示例

bash
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 frame
python
import sys; sys.stdout.write('\x1b]104\x07')   # reset whole palette
go
fmt.Print("\x1b]104\x07")
javascript
process.stdout.write('\x1b]104\x07')
c
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
不支持

相关序列

在家族食谱中

SGR 食谱 · 5. OSC 调色板覆盖 —— 直接把槽位本身改了