You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过命令行修改macOS Terminal主题的背景颜色

如何通过命令行修改macOS Terminal主题的背景颜色

嘿,我来帮你搞定这个问题!你之前的命令之所以失败,核心原因是defaults read输出的颜色格式直接用到了defaults write——read输出的{length = ...; bytes = ...;}是给人看的可读性格式,不是命令行可识别的输入格式,系统把它当成了普通字符串,自然无法正确设置背景色。

下面给你两种靠谱的方法,都是macOS自带工具,不用装额外软件:


方法一·用PlistBuddy(推荐,结构清晰不易出错)

PlistBuddy是苹果自带的plist文件编辑工具,比defaults更适合处理Terminal这种嵌套复杂的配置结构。

步骤1:先备份Terminal配置(重要!)

万一改崩了能快速恢复,别偷懒:

cp ~/Library/Preferences/com.apple.Terminal.plist ~/Library/Preferences/com.apple.Terminal.plist.backup

步骤2:获取目标颜色的二进制数据

最省心的方式是先手动调出你想要的颜色:

  1. 打开Terminal偏好设置 → 配置文件 → 选中「Pro」
  2. 点击「颜色」标签,把背景色改成你想要的样子,关闭偏好设置

然后用命令导出这个颜色的二进制数据(复制输出的全部内容,包括前后的<>):

defaults read com.apple.Terminal "Window Settings" Pro BackgroundColor

步骤3:用PlistBuddy写入颜色

把刚才复制的颜色数据替换下面命令里的<你的颜色十六进制数据>部分:

/usr/libexec/PlistBuddy -c "set :'Window Settings':Pro:BackgroundColor <你的颜色十六进制数据>" ~/Library/Preferences/com.apple.Terminal.plist

步骤4:重启Terminal生效

killall Terminal

再打开Terminal,就能看到Pro主题的背景色已经变成你想要的啦!


方法二·用defaults命令直接修改

如果你习惯用defaults,要记住data类型的正确写法是<纯十六进制字符串>(不带0x和空格),而不是read输出的格式。

步骤1:同样先备份配置

cp ~/Library/Preferences/com.apple.Terminal.plist ~/Library/Preferences/com.apple.Terminal.plist.backup

步骤2:准备好颜色的十六进制数据

和方法一一样,先手动调好颜色,然后用defaults read获取数据,比如得到的是<62706c6973743030d4010203...>

步骤3:用defaults写入配置

如果只是修改背景色,不需要替换整个主题,可以先删除原有键再写入新值(否则-dict-add不会覆盖已有键):

# 先删除原有的BackgroundColor键
defaults delete com.apple.Terminal "Window Settings" Pro BackgroundColor
# 写入新的背景色数据——这里要去掉<和>,只留纯十六进制字符串
defaults write com.apple.Terminal "Window Settings" -dict-add Pro -dict BackgroundColor -data 62706c6973743030d4010203...

或者如果你想直接替换整个Pro主题配置(要确保包含所有必要的键,否则主题会出问题):

defaults write com.apple.Terminal "Window Settings" -dict Pro '{
    BackgroundBlur = 0;
    BackgroundColor = <627

火山引擎 最新活动