Macbook外接显示器时字体会发虚,换了2K屏后文字太小,于是尝试开启HiDPI,转为1080以改善显示效果。看了网上的教程,使用SwitchResX软件,成功开启了HiDPI。

但在升级系统后,外接显示器又恢复了2560*1440的分辨率,重新使用SwitchResX时,却始终提示“not installed”。已经禁用了SIP,尝试知乎上那些创建新的管理员账户,或在终端中输入一行代码注入脚本的方式都不成功。

最后终于找到一个可行的方法,分享给大家。

1. 开启HiDPI

打开终端,然后输入以下命令,然后输入密码。(输入密码时不会显示,但其实是输入了的)

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
2. 识别显示器

将以下命令输入到终端中:

ioreg -lw0 | grep IODisplayPrefsKey

终端将输出如下内容:

"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a019"
"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@2/display0/AppleDisplay-10ac-413c"

可以看到AppleDisplay标识的为外接显示器,AppleBacklightDisplay标识的为自带显示器。因此,如果要修改外接显示器的分辨率,就要重点查看第二行。该行的末尾有两个值,分别是DisplayVendorID(10ac)和DisplayProductID(d06e),记下这些值右边要用。

3. 自定义分辨率

使用这个工具SCALED RESOLUTIONS 在左上方填写显示器型号(比如我自己用的是DELL U2518D),然后填写上面记录下的DisplayProductID和DisplayVendorID值。

选择分辨率时,只保留3840*2160即可,如下图所示:

android switch去掉颜色渲染 switch屏幕色彩淡_3c

4. 下载plist并复制到系统文件夹

填写完上面这些信息后,右边会自动生成代码,点击右下方下载plist文件。

接下来我们要做的是找到系统文件并用刚下载好的文件替换它。

这个工具已经很贴心地将目标文件地址显示在了代码上方,根据这个地址可以很快找到所属文件位置。

android switch去掉颜色渲染 switch屏幕色彩淡_mac_02


在访达的系统菜单栏选择“前往/前往文件夹”,输入文件地址,就能打开文件夹。

android switch去掉颜色渲染 switch屏幕色彩淡_mac_03

原文给出的替换文件的代码我尝试了却不可用,于是打算手动替换文件。当然,还是得先给/System/文件夹开放权限,
返回/System/文件夹,右键选择显示简介,在“共享与权限”中将“只读”改为“读与写”。然后回到目标文件地址。以文本编辑方式打开DisplayProductID-413c.plist这个文件。将下载好的文件内容替换掉原来的内容,保存。

5. 在SwitchResX内修改分辨率

重启电脑,打开SwitchResX的Custom Resolutions,3840*2160的status已经变为了active。回到Current Resolutions,就能开启1920*1080的HiDPI模式了。