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即可,如下图所示:
4. 下载plist并复制到系统文件夹
填写完上面这些信息后,右边会自动生成代码,点击右下方下载plist文件。
接下来我们要做的是找到系统文件并用刚下载好的文件替换它。
这个工具已经很贴心地将目标文件地址显示在了代码上方,根据这个地址可以很快找到所属文件位置。
在访达的系统菜单栏选择“前往/前往文件夹”,输入文件地址,就能打开文件夹。
原文给出的替换文件的代码我尝试了却不可用,于是打算手动替换文件。当然,还是得先给/System/文件夹开放权限,
返回/System/文件夹,右键选择显示简介,在“共享与权限”中将“只读”改为“读与写”。然后回到目标文件地址。以文本编辑方式打开DisplayProductID-413c.plist这个文件。将下载好的文件内容替换掉原来的内容,保存。
5. 在SwitchResX内修改分辨率
重启电脑,打开SwitchResX的Custom Resolutions,3840*2160的status已经变为了active。回到Current Resolutions,就能开启1920*1080的HiDPI模式了。