临时关闭 Mac SIP 修改自带词典字体

最近用词典比较多,而 Mac 自带词典不得不说非常好用,还能自己编译、安装一些第三方的词典。稍有遗憾的是,自带词典的字体目前(Mojave)不能任意修改,需要临时关闭 SIP (System Integrity Protection, 系统完整性保护) 才能添加自定义 CSS。

词典文件位置

Mac OSX 更新之后,系统自带词典的位置和以往不同了,目前位于 /System/Library/Assets/com_apple_MobileAsset_DictionaryServices_dictionaryOSX

系统自带词典位置

其中的一个个 *.asset 就是词典所在的目录了,例如下图中的牛津英汉词典:

打开词典文档

通过右键就能打开 *.dictionary 文件目录。通常情况下,里面有个 Contents 目录。要修改该词典的字体设置,需要在该目录下放一个 DefaultStyle.css (具体文件名字看 Info.plist 中的设定,一般都是 DefaultStyle.css)。自带词典的 Contents 目录下一般有个 Resources 目录,里面也有个 DefaultStyle.css,可以把这个文件拷贝到 Contents 目录下来进一步修改。

但是,这时候不管你是在 Contents 目录下直接新建还是拷贝 Resources 中的 DefaultStyle.css,系统都会提示你木有权限,就算你在 Terminal 使用 sudo 也毫无建树。这时候就需要临时关闭 SIP 才能进一步操作了。

开启/关闭 SIP

查看 SIP 状态

在终端中输入 csrutil status 就可以查看系统 SIP 状态(enabled 或 disabled)。

关闭 SIP

不能直接在正常状态修改 SIP 设置,需要进入 Recovery 模式才行,具体就按下面步骤一步步来吧。

  1. 关闭 Mac 系统,按住 command + R 启动系统,直到屏幕上出现苹果图标和进度条才松开 command + R,这时候启动进入到 Recovery 模式。

  2. 在上方工具栏里找到实用工具(Utilities),打开其中的终端(Terminal),然后输入 csrutil disable

  3. 好了,现在可以关闭终端,重启系统。重启后在终端中再查看 SIP 状态 csrutil status,就可以确认 SIP 状态了。

开启 SIP

在弄完需要的操作后,务必重新开启 SIP。步骤与上类似,再来一遍吧:

  1. 关闭 Mac 系统,按住 command + R 启动系统,进入到 Recovery 模式。

  2. 在上方工具栏里找到实用工具(Utilities),打开其中的终端(Terminal),然后输入 csrutil enable

  3. 关闭终端,重启系统。重启后在终端中输入 csrutil status,确认当前 SIP 状态 System Integrity Protection status: enabled.

临时关闭 SIP,在安装某些特殊来路的软件的时候挺管用的,自己控制风险吧。

修改词典字体设置

这里就没什么好说的了,按需要修改词典文件中的 CSS,最主要是修改 font-family,看喜好设定吧。

需要注意一点的是,如果你是从 Resources 中拷贝的 DefaultStyle.css,请拖呀拖,拖到文件最末尾修改 bodyfont-family

另外,如果需要修改 Dark 模式中的设定,添加下面的 CSS 就可以了:

@media (prefers-dark-interface)
{
    html {
        -apple-color-filter: apple-invert-lightness();
    }
    a {
        -apple-color-filter: none;
        color: -webkit-link;
    }
    img {
        filter: invert(100%);
    }
}

这个在自定义词典中还是很有用的哟。以上。


PAGE UP