Mac外接显示器字体发虚
mbp外接2k显示器,字体会特别小且有点模糊,选择其他分辨率就会变得特别模糊,搜索一大圈说是要开启hidpi可以解决。于是各种搜教程尝试了一晚上总算OK了,下面把成功解决等方法详细步骤总结一下,万一有人也碰到这样的问题呢?
直接选择2k分辨率会觉得字体很小,选择其他分辨率候直接模糊掉了,可以通过开启hidpi来使得1080等分辨率显示更细腻!
这样就可以像mbp自带的那样选择不同缩放分辨率了。
1.首先关闭苹果电脑的安全模式。
- 重启Mac;
- 在OS X启动之前,按住 Command+R 并保持不动,直到看到Apple图标和进度条。这将引导你进入恢复;
- 从 “实用工具” 菜单中选择 “终端”;
- 在提示符处输入以下内容,然后按回车键:csrutil disable
- 终端应显示SIP被禁用的消息。
- 重新进入系统后,查看SIP状态,终端输入:csrutil status
2. 开启 macOS 的 HiDPI 选项
终端输入:sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
3.修改系统配置文件
-
前往文件目录:/System/Library/Displays/Contents/Resources/Overrides
-
打开 DisplayVendorID-610 文件夹找到 DisplayProductID-a033 ,复制保存到桌面备用
-
现在查看一下外接显示器的 DisplayProductID 和 DisplayVendortID
终端输入:
ioreg -l | grep “DisplayVendorID”
ioreg -l | grep “DisplayProductID”
第一行的是MacBook的ID。 -
将 DisplayProductID 和 DisplayVendortID 转换成16进制形式。用苹果自带的计算机就行:
我的:
DisplayVendortID为: 4268,对应的16进制为:10AC
DisplayProductID为: 8204,对应的16进制为:200C
-
在桌面新建一个文件夹名为:DisplayVendorID-10ac,其中 10ac 为刚刚计算的4268对应的16进制的小写。
-
将 DisplayProductID-a033 文件复制到 DisplayVendorID-10ac 文件夹中,并将其名称改成 DisplayProductID-200c
-
用PlistEdit Pro软件打开如下,软件链接在最后,也可以用列如sublime等文件打开:
将上面的值换成自己的ProductID和VendorID,ProductName可以改成自己显示器型号。
也可以直接用sublime等打开改成自己。 -
其中 scale-resolutions为对应的分辨率的16进制数组,对于2k主要用到19201080,1600900,1280*720等。删除多余的对象后,依次填你想要的HIDPI分辨率16进制的,比如1920×1080的HIDPI就要填入3840×2160的16进制00000F00 00000870 00。
可以直接改成跟上面对应的数值就行,主要就是修改了:
9. DisplayVendorID
10. DisplayProductID
11. DisplayProductName
12. 以及scale-resolutions
<array>
<data>
AAAPAAAACHAA
</data>
<data>
AAAMgAAABwgA
</data>
<data>
AAAKAAAABaAA
</data>
</array>
改完之后文件长这样。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisplayBacklight</key>
<real>575.5</real>
<key>DisplayBrightReflection</key>
<real>573.10000000000002</real>
<key>DisplayDarkReflection</key>
<real>1.1000000000000001</real>
<key>DisplayLeakage</key>
<real>0.41899999999999998</real>
<key>DisplayLowestLevel</key>
<real>2</real>
<key>DisplayLowestMeasured</key>
<real>0.43230000000000002</real>
<key>DisplayProductID</key>
<integer>8204</integer>
<key>DisplayProductName</key>
<string>Dell</string>
<key>DisplayVendorID</key>
<integer>4268</integer>
<key>IOGFlags</key>
<integer>4</integer>
<key>edid-patches</key>
<array>
<dict>
<key>data</key>
<data>
AAAAEAAAAAAAAAAAAAAAAAAA
</data>
<key>offset</key>
<integer>72</integer>
</dict>
</array>
<key>scale-resolutions</key>
<array>
<data>
AAAPAAAACHAA
</data>
<data>
AAAMgAAABwgA
</data>
<data>
AAAKAAAABaAA
</data>
</array>
<key>target-default-ppmm</key>
<real>10.069930100000001</real>
</dict>
</plist>
4.把DisplayVendorID-10ac文件夹复制到/System/Library/Displays/Contents/Resources/Overrides目录下:
我的macos系统为:10.15.4,直接粘贴进去不行,就算关闭了SIP模式也不行,该目录只有只读权限。
- 终端执行:sudo mount -uw /
- 进入到:/System/Library/Displays/Contents/Resources/Overrides 目录打开终端:
- 如果你当前目录有DisplayVendorID-10ac这个文件夹,那就只需要把DisplayProductID-200c文件复制进去就行。
- 没有该目录的话就终端执行:sudo mkdir DisplayVendorID-10ac,
- 有该目录的话就终端 cd 进入该目录,终端执行:touch DisplayProductID-200c ,创建该文件,然后用sublime-text等工具打开,将改好的:DisplayProductID-200c里的代码复制进去就行,然后保存提示输入管理员密码即可。
- 当然如果你直接文件夹覆盖也可以,我找了几个方法没成功,只能这样的笨方法了。最后重启就大功告成了。
5. 用到的工具链接
PlistEdit Pro链接: https://pan.baidu.com/s/1–NCsIJrXpH9Z0WgP9lJsg 密码:dfko
尝试了许多方法,就这个管用,感谢VFX123的教程。