我自己的环境:
开启hidpi的目的是为了让显示更加细腻,代价是缩小了显示范围。
自己在网上看了很多帖子,也尝试了几种,有些方法已经不再适合Big Sur系统了,所以本文提供一种可用的,在Big Sur系统中开启hidpi的方法。
首先使用如下命令,获得显示器的部分参数:
ioreg -l | grep "DisplayProductID"
ioreg -l | grep "DisplayVendorID"
这里得到的是10进制的结果,以后使用的时候需要转换成16进制,后文会说到。
然后到这个网站,在左侧栏填写上面的信息,注意这里填之前要将得到的数字转成16进制再填进去,可以直接Google xxx to hex得到结果。这里的DisplayProductName
填什么都无所谓,就是一个名字,关键还是DisplayProductID
和DisplayVendorID
两项,一定要填对。
填写完成后,右边的xml文件也会跟着相应变化,以我的设置为例:
<?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>9986</integer>
<key>DisplayVendorID</key>
<integer>1507</integer>
<key>scale-resolutions</key>
<array>
<data>AAAFAAAAAtAAAAAJAKAAAA==</data>
<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>
<key>target-default-ppmm</key>
<real>10.0699301</real>
</dict>
</plist>
注:最后的target-default-ppmm
部分是网页上没有的,不过我看到好多参考教程都加了,所以我也加了,我没有仔细去看到底是什么意思,不过加了确实是可以用的,或许不加也可以。
下面要做的就是用这个文件覆盖原有的设置,所以你可以下载文件,也可以等会手动创建一个文件,再把这些内容复制进去。
创建一个目录:
sudo mkdir -p /Library/Displays/Contents/Resources/Overrides/
进入这个目录,再创建一个目录:
sudo mkdir DisplayVendorID-xxx
这里的xxx
替换成你自己的DisplayVendorID
就行,注意是16进制。
然后进入这个目录,创建一个文件,名字为DisplayProductID-xxx
,同理这里的xxx
也是填你自己设备的DisplayProductID
sudo vi DisplayProductID-2702
进入文件后,按i进入编辑模式,把上面生成xml复制到这里,然后按ESC结束编辑,再通过ZZ退出即可。
完成上述步骤的结果就是,有了这样一个文件/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-5e3/DisplayProductID-2702
,并且文件的内容就是刚刚在网页生成的xml。一定要反复检查没有出错,不然没有效果。
最后一步只要重启电脑就可以了。
有些教程说,重启之后显示设置界面变成这样:
但是我自己的并没有,不过这并不代表我们设置失败了。在这里只要再下载一个工具软件即可,比如RDM,这个打开后可以调整分辨率,其中带有闪电符号的就是开启hidpi的分辨率:
这就是在Big Sur上开启hidpi的所有设置了,如果你有疑问,请在下面留言。
如果你知道怎样不借助RDM这样的软件来实现,请留言告诉我,谢谢!