普通的显示,接上 MacBook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊。下面介绍MacBook强行开启 HiDPI。

什么是 HiDPI

它使用横纵 2 个物理像素也就是 4 个物理像素来显示 1 个像素区域,结果就是图像的细节得到翻倍、更清晰、边缘更平滑。

拿 13 寸的 MacBook Pro 举例,它的屏幕物理分辨率是 2560 x 1600,所以原生的 HiDPI 分辨率就是 1280x800。更高的一档 1440x900 HiDPI 缩放分辨率,则是虚拟出一个 2880x1800 的分辨率,再进行软缩放输入。所以你能发现苹果的电脑总是有很高的分辨率。

好了,既然你的屏幕是 1080p,本身就没有那么多像素去合成 HiDPI,如果以原生的显示计算,你这屏幕的 1080p 分辨率应该是 960x540,这么低的分辨率你是没法用的。

这个脚本的功能就是虚拟出比你的屏幕物理分辨率更高的假分辨率……如果你要开启 1080p 的 HiDPI 分辨率,就虚拟一个 3840 x 2160 的假分辨率,然后 macOS 会使用 4 个像素来显示 1 个像素区域,也就是和你物理分辨率一样的 1080p 分辨率。

手动配置 HiDPI

本教程测试环境:

  • 笔记本:MacBook Pro (Retina, 15-inch, Mid 2015)
  • 显示器:Dell P2416D
  • 操作系统:MacOS Catalina (Version 10.15.1)

0. 安装 RDM

相信很多人已经装过这个工具了,它是用来修改显示分辨率的,如果没装,请在 RDM下载页面 安装它。

1. 关闭 macOS 的 SIP

SIP 全称为「System Integrity Protection」即「系统完整性保护」,是苹果公司为防止你胡乱篡改系统文件用的保护机制,请先按照下面步骤把它关闭,以便后续操作:

  1. 关机(最好先手机拍个照把这 4 步记录下来)
  2. command(⌘)+ R+电源键开机,自动进入恢复模式
  3. 选择上边菜单栏的实用工具中的终端
  4. 输入命令csrutil disable

最后终端显示 「Successfully……」 等一大堆文字就说明你成功了。你可以输入reboot重启。等下文的全部设置都完成后,你如果想恢复 SIP,就重复步骤 1 到 3,在第 4 步输入csrutil enable就好了。

2. 开启 macOS 的 HiDPI 选项

再次重启后进入系统,打开终端输入

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

3. 查询你的外接显示器的编号

这一步相当重要,先介绍两个命令

ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"

这两条命令用来查询你的显示器供应商 ID DisplayVendorID 和产品 ID DisplayProductID。接下来你要找到你的显示器对应的DisplayVendorIDDisplayProductID

  1. 拔掉显示器的 HDMI 或者 DP 线
  2. 分别输入上面两个命令之后return(↩),每个命令会返回一个带有数字的结果。那个数字就是 MacBook 默认的DisplayVendorIDDisplayProductID
  3. 接入显示器
  4. 再分别输入那两个命令,每个命令会分别返回两条带有数字的结果。对比刚才 MacBook 默认的结果,另一个数字就是你显示器的DisplayVendorIDDisplayProductID
  5. 把这两个数字分别转成对应的 16 进制数,用这个 进制转换工具。

现在,回到桌面,新建一个文件夹命名为DisplayVendorID-[你刚才查到的DisplayVendorID的16进制数],例如DisplayVendorID-10ac

之后在这个刚建好的文件夹下增加一个文件,命名为DisplayProductID-[你刚才查到的DisplayProductID的16进制数],例如DisplayProductID-a0c3

4. 为你的显示器生成 plist 文件

在左侧的空里分别输入显示器型号,DisplayProductID 和 DisplayVendorID,注意填 16 进制的数字,并且检查下后边 10 进制的数字是不是和你刚才命令查到的一致。如果需要添加自己额外的分辨率,直接在下边新建一条分辨率配置就行。最后,复制右边生成 XML 格式文本,粘贴到刚才新建的文件里。(也可以直接从网站下载文件,去掉文件名后缀 .plist )

XML 文本类似下边这样:



 DisplayProductID
41155
DisplayVendorID
4268
scale-resolutions AAAKAAAABaAAAAABACAAAA==
AAAFAAAAAtAAAAABACAAAA==
AAAPAAAACHAAAAABACAAAA==
AAAHgAAABDgAAAABACAAAA==
AAAMgAAABwgAAAABACAAAA==
AAAGQAAAA4QAAAABACAAAA==
AAAKAgAABaAAAAABACAAAA==
AAAKrAAABgAAAAABACAAAA==
AAAFVgAAAwAAAAABACAAAA==
4. 复制 plist 配置文件到系统配置目录

这一步就是把刚才新建的配置文件复制到你系统目录里,你直接复制通常会提示你系统目录是「只读」的,不允许你胡作非为。所以你先要在终端执行下面的命令:

sudo mount -uw /

这样,你就可以复制到系统的文件夹了。(这个命令重启后失效)

接下来打开系统文件夹/System/Library/Displays/Contents/Resources/Overrides/,你会发现一大堆跟你刚才文件夹命名相似的目录。把你新建的文件夹丢进去,和它们混在一起,假装它原来就是其中一员。重启。

5. 修改分辨率

重启之后又进入系统,首先打开 RDM,你会在菜单栏看见它:

MAIn Display 和 Display 2 就分别是你的外接显示器和 MacBook 的显示器分辨率设置(位置有可能对调,自己尝试一下)。带有 ⚡️ 符号的分辨率设置项就是开启 HiDPI 后新增出来的。如果你像我一样是 24 寸 2K 显示器,可以给显示器选择1920x1080⚡️那个配置。

是不是比原生分辨率的 UI 和字体更大更清晰了?

macOS 10.15 开启 HiDPI的更多相关文章

  1. macOS 10.15 Catalina xxx.app已损坏,无法打开,你应该将它移到废纸篓解决方法

    原文连接:https://www.macwk.com/article/mac-catalina-1015-file-damage 更新macOS 10.15 Catalina后,很多在10.14上可以 ...

  2. npm install 提示 `gyp: No Xcode or CLT version detected!` MacOS 10.15

    https://github.com/nodejs/node-gyp/issues/569 https://github.com/nodejs/node-gyp/issues/1927 解决链接:ht ...

  3. macOS 10.15 Catalina Apache设置:多个PHP版本

    第1部分:macOS 10.15 Catalina Web开发环境 在macOS上开发Web应用程序真是令人高兴.有许多设置开发环境的选项,包括广受欢迎的MAMP Pro,它在Apache,PHP和M ...

  4. 黑苹果 MacOS 10.15 Catalina安装教程

    10.15 Catalina 桌面 一.准备工作 一个8G以上的U盘(有的U盘标的是8G,实际只有7.X,实际容量小于7.5G的会失败) MacOS镜像.TransMac(刻录工具).DiskGeni ...

  5. 神舟zx6-ct5da装黑苹果Macos 10.15.6记录

    可能是一时脑子抽风,突然就想体验一把mac系统.以前就了解过,给非苹果电脑装macos叫黑苹果,emmmmm.好吧,给我的神船也整一个. 看了很多个视频,整理一下装黑苹果过程.本人电脑系统是win10 ...

  6. win7笔记本VirtualBox安装黑苹果MacOS 10.13

    环境 时间:2018.04.09,没有指明时间的教程都是耍流氓 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘, ...

  7. 苹果开始推送 macOS Catalina10.15 正式版系统更新

    北京时间今天凌晨 1 点,苹果正式推送了 macOS Catalina 10.15 正式版升级.macOS Catalina 10.15 正式版带来了许多重大改变,包括Sidecar.iTunes应用 ...

  8. 适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案

    前阵子入手了一款2k的显示器用于mbp的拓展屏幕,但由于苹果系统的严格限制,只有在4K及以上显示器上才能开启自带的HiDPI进行缩放以达到retina显示屏的效果.2k显示器下的字体会偏小发虚,使用1 ...

  9. macOS 10.13允许任何来源开启方法

    软件下载网站: http://www.pc6.com/ 软件安装问题: macOS 10.13允许任何来源开启方法: 如果需要恢复允许“任何来源”的选项,即关闭系统的Gatekeeper,我们可以在“ ...

随机推荐

  1. tf.nn.in_top_k的用法

    tf.nn.in_top_k组要是用于计算预测的结果和实际结果的是否相等,返回一个bool类型的张量,tf.nn.in_top_k(prediction, target, K):prediction就 ...

  2. 【坑】Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本

    在pom.xml文件中添加如下代码: 注意:jdk使用自己下载的版本,我的是13 <properties> <project.build.sourceEncoding>UTF- ...

  3. Android 弹出Dialog时隐藏状态栏和底部导航栏

    上代码 dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); di ...

  4. Angular框架入门

    今天简单学习了AngularJS框架,在这里我想简单的总结一下我所了解的AngularJS和一些入门案例! 首先,我们要知道什么是AngularJS? AngularJS  诞生于2009年,由Mis ...

  5. 18c & 19c Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 2485237.1)

    18c & 19c Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 2485237.1) APPLIES T ...

  6. Cocos2d-x开发教程——《萝莉快跑》

    更好的阅读体验请前往<萝莉快跑>开发教程. 配置:win7+Cocos2d-x.2.0.3+VS2012 目标读者:已经了解图形显示.动作.回调函数.定时器的用法. 一.基本知识点 1.动 ...

  7. python uiautomator2 watcher的使用方法

    该方是基于uiautomator2如下版本进行验证的: PS C:\windows\system32> pip show uiautomator2 Name: uiautomator2 Vers ...

  8. 深入浅出14个Java并发容器

    前言 不考虑多线程并发的情况下,容器类一般使用ArrayList.HashMap等线程不安全的类,效率更高.在并发场景下,常会用到ConcurrentHashMap.ArrayBlockingQueu ...

  9. react+ant-mobile+lib-flexible构建移动端项目适应设计图尺寸(750)

    使用lib-flexible在react中先安装 npm install lib-flexible --save 因为插件使用的是rem适配,所以安装两个插件 npm install postcss- ...

  10. 即将是史上最全的meta大全

    本文的目的是搜集当前主流的meta配置,方便开发者快速开发调试.在这里不会做各种meta的深入分析,只是简单的介绍,让大家知道有这个东西. meta简述 meta用于描述 HTML 文档的元数据.通常 ...