之前一直用着switchResX,但是手贱升级到macos10.14之后就失效了。只好另寻别的方法了。
准备工作
- RDM,开源的更改分辨率插件(快捷下载)
- PlistEdit PRO,plist文件修改器
- 在线16进制和10进制互转工具
1. 关闭系统完整性保护(SIP)
重启mac,开机的时候按住command+R进入恢复模式,然后打开终端输入csrutil disable
关闭SIP。
等修改完分辨率后可以重复上述操作,在终端输入csrutil enable
保证电脑的安全性。
2. 开启hidpi
电脑开机进入系统后打开终端输入
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES
回车后输入管理员密码即可。
3. 获取显示屏的DisplayVendorID和DisplayProductID
先拔掉外接显示器,输入以下命令记录内置显示屏的ID,然后接上外接显示屏再输入一次命令记录外接显示屏的ID(如果有多个显示器就一个一个来)。
ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"
我的DisplayVendorID是4268(十六进制是10ac),DisplayProductID是41156(十六进制是a0c4)。
4. 创建配置文件
- 创建一个
DisplayVendorID-10ac
的文件夹,10ac
是DisplayVendorID
值对应的十六进制。 - 创建一个
DisplayProductID-a0c4
的文件,a0c4
是DisplayProductID
值对应的十六进制。这个文件放到上面的那个文件夹内。
5. 编辑DisplayProductID-a0c4
文件
这里有一份已经写好的模板,先用其他编辑器打开,把内容复制进去。再用PlistEdit PRO打开(不用PlistEdit PRO看到的内数据是类似AAAKAAAABkAAAAABACAAAA==
的)。
<?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>32795</integer>
<key>DisplayVendorID</key>
<integer>2513</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>
在array
项中添加你想要的分辨率(这下面的分辨率是已经设置好的了,有适用的分辨率可以直接看第7步)。
假设我要设置1920*1080
的分辨率则对应的十六进制值是00000780 00000438
,后面需要拼接上00000001 00200000
。(00000780是1920,00000438是1080)
分辨率 | 十六进制值 |
---|---|
1920 * 1080 | 00000780 00000438 00000001 00200000 |
3840 * 2160 | 00000F00 00000870 00000001 00200000 |
7. 替换文件
将改好后的文件夹拷贝到/System/Library/Displays/Contents/Resources/Overrides/
中重启电脑后打开RDM修改分辨率即可。
如果有重复的DisplayVendorID-10ac
的目录,可以选择只替换里面的文件。也可以替换目录。