入手一台新2K显示器后,直接连接MacbookPro字体太小,看着很不舒服,查阅网上教程后发现可以开启1080HiDPI模式,这样显示屏看着会比较舒服。记录一下设置过程。
1.关闭系统完整性保护(SIP)
重启mac,开机的时候按住command+R进入恢复模式,然后打开终端输入csrutil disable关闭SIP。
等修改完分辨率后可以重复上述操作,在终端输入csrutil enable保证电脑的安全性。
2.开启HiDPI
打开终端 键入
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES
回车后,输入当前系统管理员的密码,继续回车确认。
3.获取你的显示器的两个 ID
DisplayVendorID和DisplayProductID
打开终端, 命令分别是:
ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"
上面的两个命令会返回两个带10进制数字的结果,记下来,转换成16进制数字,其中第一个是用来命名文件夹的,第二个是用来命名文件的。在桌面上新建一个文件夹,名字格式是:DisplayVendorID-XXXX,其中XXXX是你的DisplayVendorID的16进制值小写。然后在这个文件夹里面新建一个空白文件,名字格式是DisplayProductID-YYYY,其中YYYY就是你的DisplayProductID的16进制。
4.编写DisplayProductID-YYYY文件
示例如下:
<?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>DisplayProductName</key>
<string>PHL 272B8</string>
<key>DisplayProductID</key>
<integer>16652</integer>
<key>DisplayVendorID</key>
<integer>2351</integer>
<key>scale-resolutions</key>
<array>
<data>AAAKAAAABaAAAAABACAAAA==</data>
<data>AAAFAAAAAtAAAAABACAAAA==</data>
<data>AAAPAAAACHAAAAABACAAAA==</data>
<data>AAAHgAAABDgAAAABACAAAA==</data>
<data>AAAMgAAABwgAAAABACAAAA==</data>
<data>AAAGQAAAA4QAAAABACAAAA==</data>
<data>AAAKAgAABaAAAAABACAAAA==</data>
<data>AAAKrAAABgAAAAABACAAAA==</data>
<data>AAAFVgAAAwAAAAABACAAAA==</data>
</array>
</dict>
</plist>
或:
<?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>DisplayProductID</key>
<integer>10496</integer>
<key>DisplayVendorID</key>
<integer>8547</integer>
<key>scale-resolutions</key>
<array>
<data>
AAAKAAAABkAAAAABACAAAA==
</data>
<data>
AAAUAAAADIAAAAABACAAAA==
</data>
<data>
AAAKAAAABDgAAAABACAAAA==
</data>
<data>
AAAUAAAACHAAAAABACAAAA==
</data>
<data>
AAAHgAAABDgAAAABACAAAA==
</data>
<data>
AAAPAAAACHAAAAABACAAAA==
</data>
<data>
AAAGkAAABBoAAAABACAAAA==
</data>
<data>
AAANIAAACDQAAAABACAAAA==
</data>
<data>
AAAGQAAAA4QAAAABACAAAA==
</data>
<data>
AAAMgAAABwgAAAABACAAAA==
</data>
<data>
AAAFoAAAA4QAAAABACAAAA==
</data>
<data>
AAALQAAABwgAAAABACAAAA==
</data>
<data>
AAAINAAAA4QAAAABACAAAA==
</data>
<data>
AAAQaAAABwgAAAABACAAAA==
</data>
</array>
</dict>
</plist>
注意:修改里面的DisplayVendorID和DisplayProductID成你自己的。
最后面那一坨,和以及里面的data如何来的,比如我想使用1600900这个HiDPI,那么我就需要生成两个分辨率,其中一个是1600900,一个是其双倍,3200*1800.1600,900两个值的16进制是00000640 00000384 ;3200,1800两个值的16进制是00000C80 00000708;后面加上 00000001 00200000于是会得到00000640 00000384 00000001 0020000000000C80 00000708 00000001 00200000
第二个范例中,设定的分辨率是:
2560x1600 2x (16:10)
2560x1080 2x (21:9)
1920x1080 2x (16:9)
1680x1050 2x (16:10)
1600x900 2x(16:9)
1440x900 2x(16:10)
2100x900 2x(21:9)
5.将文件夹复制到指定位置
最后,把这个 DisplayVendorID-XXXX 文件夹,拷贝到/System/Library/Displays/Contents/Resources/Overrides/(10.10及以下是 /System/Library/Displays/Overrides/ )重启系统就可以看到了。可以安装RDM在任务栏切换,方便快捷,各位可以根据自己的屏幕规格来添加。
参考资料:简书:Mac系统HiDPI问题知乎:请教一下如何在 macOS 下开启自定义 HiDPI?Enable HiDPI脚本开启1080HiDPI为 macOS 10.15 开启 HiDPI,让 2K 显示器更舒适