一、前言:
大家平时用macbook开发的时候一般都喜欢外接一个显示器开发吧?这里我用了一台2k的显示器,我们要开启hidpi模式。
你们会问到为什么要开启hidpi模式呢?我的2k显示器是2560*1440分别率,如果采用默认的设置,那么在显示器上面的字会特别的小。如果我们开启显示器的hidpi模式就类似于macbook的retina模式,那么就会在图像大小不变的情况下,变的特别清晰。
我在升级最新的10.13.4后,我的2k显示器的分别率恢复默认了,SwitchResX软件不起作用了,因此我打算采用另一种轻量级的方式去开启2k显示器的hidpi模式。如果你的SwitchResX因为升级系统出问题了,或许这篇文章可以帮到你。
二、方法:
2.1 准备工具
PlistEdit Pro
RDM
16进制和10进制转换工具
这里工具我就不提供下载了,大家支持正版吧。
2.2 关闭System Integrity Protection SIP
我们重启macbook,在开机的时候按command+R进入恢复模式,然后我们在终端输入
csrutil disable
当我们设置完分辨率后可以再输入以下命令打开,保证安全性。
csrutil enable
2.3 开启macbook的hidpi
打开终端输入
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES
回车后,需要输入管理员密码,然后再回车,完毕。
2.4 获取2k显示器的DisplayVendorID和DisplayProductID
我们先不插外界显示器的连接线,获取macbook自己屏幕的ID,然后再插上外接显示器获取外界显示器的ID。
在终端输入如下命令
ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"
如图:
我经过显示器的拔插就可以筛选出外接显示器的两个ID。DisplayVendorID为2513,DisplayProductID为32795
我们新建一个名字为DisplayVendorID-XXXX的文件夹,其中XXXX是DisplayVendorID的16进制小写即9d1,则文件夹名字为DisplayVendorID-9d1。然后再创建一个空白文件
我们将这个文件命名为DisplayProductID-YYYY,其中YYYY即DisplayProductID的16进制小写即801b。
2.5 编辑DisplayProductID-YYYY文件
我们使用PlistEdit Pro去打开这个文件,然后在DisplayProductID和DisplayVendorID处填写这两个值的10进制原始值,然后下面按照如下规则去设置对应的分辨率。
例如我这里要设置 1920 * 1080 hidpi 的设置,我设置 1920 * 1080 和 3840 * 2160 两种。
1920的16进制是00000780,1080的16进制是00000438,后面需要拼接上00000001 00200000
即:
00000780 00000438 00000001 00200000
3840的16进制是00000F00,2160的16进制是00000870,后面需要拼接上00000001 00200000
00000F00 00000870 00000001 00200000
我们将这个数据添加到文件中去。
文件中添加了几个例子。
如图:
然后我们把这个文件夹拷贝到/System/Library/Displays/Contents/Resources/Overrides/中去
2.6 使用RDM进行切换
重启系统打开RDM,这就可以进行切换了。
如图:
三、总结
工欲善其事,必先利其器。macbook配上一个2k甚至5k的显示器,无疑是可以提高程序员的工作效率的。以上是借鉴网上的一些文章,整理了一下,提供给大家一个方便的解决方案。