macOS开启HiDPI外接2K显示器(解决字体发虚问题)

1.前言:

购置了一台2K显示器,但通过HDMI直接连接时的显示效果让人难以接受,因此我们需要启用苹果系统的HiDPI模式,以实现更完美的显示效果。

那么,为什么要启用HiDPI模式呢?2K显示器的分辨率为2560*1440,如果使用默认设置,显示器上的文字会显得特别小。我尝试过使用最新版的SwitchResX来强制将分辨率设置为1080P,但实际效果并不理想。虽然大小适应了,但字体看起来模糊。在查阅了许多资料后,我总结出了这篇文章中介绍的最简单的启用HiDPI模式的方法。希望这篇文章对你有帮助。

2.解决办法:

2.1 打开系统HiDPI (通过终端运行)

要启用系统的HiDPI,可通过在终端中运行以下命令:

bash 复制代码
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES

如果使用4K或更高分辨率的显示器,macOS通常原生支持HiDPI,您只需下载RDM即可。如果无法启用或找不到适当的分辨率,可以考虑使用配置文件。

2.2 禁用SIP (适用于macOS 10.11及以上版本)

从macOS 10.11 El Capitan开始,系统默认启用System Integrity Protection(SIP),以防止系统文件被修改。由于配置文件需要放在系统文件夹中,因此需要禁用SIP。

  • 开机或重启后,在听到开机声音后按住Command + R组合键,进入macOS恢复模式。

  • 在屏幕上方的菜单中选择 Utlities > Terminal 以打开终端。

  • 输入并执行以下命令:

    bash 复制代码
    csrutil disable
  • 然后重新启动系统,继续下一步。

在完成所有设置后,出于安全考虑,建议重新启用SIP。按照以上步骤进入恢复模式,输入并执行 csrutil enable

值得一提的是,最初我完成了这一步后直接使用SwitchResX的设置方法来强制开启1080P分辨率,但效果并不理想。尽管调整了显示大小,但所有显示都显得模糊不清。因此,我提供以下设置方法。

2.3 获得显示器信息

获得显示器信息有很多种方法,在这里用最简单的,我们分别需要获得显示器的 VendorID 和 ProductID (制造商ID 和 产品ID),在终端运行:
ioreg -lw0 | grep IODisplayPrefsKey | grep -o '/[^/]\+"$'

输出大概是这样的:

> ioreg -lw0 | grep IODisplayPrefsKey | grep -o '/[^/]\+"$'
/AppleBacklightDisplay-610-a029"
/AppleDisplay-10ac-d0ff"

第一条AppleBacklightDisplay-610-a029是MBP的内置显示屏。

第二条是外接显示器。如果你合上屏幕,这样只会输出正在使用的外接显示器。

着重在第二条,/AppleDisplay-10ac-d0ff" 这里的10acd0ff是两个十六进制数。第一个为VendorID,第二个为ProductID。电脑不同,显示的数值不同,这里的数值是我的电脑为例。

2.4 生成配置文件夹

2.4.1 简单方法

①生成配置文件

这一步的配置如果自己输入比较复杂,建议直接采用一键生成的方式进行配置,参考大神的制作

具体按下图设置,分辨率你直接按下图填入即可,两个ID需要根据你的实际情况进行填写。

点击生成之后就已经生成了配置文件了。

②创建配置文件夹

这一步简单,直接创建一个空白文件夹,重命名DisplayVendorID-xxx这里的xxx就是你上一步的VendorID。

③将①中的配置文件复制到②中的文件夹中

④将③中的文件夹拷贝到以下路径的文件夹中

# OS X 10.11及以上
DIR=/System/Library/Displays/Contents/Resources/Overrides
# OS X 10.10及以下
DIR=/System/Library/Displays/Overrides

到这里为止,准备工作就基本完成了。

如果这里的一键生成配置ok的话,直接跳到2.5即可。

如果这里的一键生成配置失效的话,就只能用2.4.2的复杂方法进行手动配置。

2.4.2 复杂方法

其实也不复杂,按照如下图所示,直接建立一个空白文档,将代码复制进去即可。

<?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>DisplayVendorID</key>
    <integer>xxxx</integer>           
    <key>DisplayProductID</key>
    <integer>xxxx</integer>           
    <key>scale-resolutions</key>
    <array>
        <data>AAAHgAAABDgAAAABACAAAA==</data>    <!-- 1920x1080 -->
        <data>AAAPAAAACHAAAAABACAAAA==</data>
        <data>AAAPAAAACHAAAAABACAAAA==</data>    <!-- 3840x2160 -->
        <data>AAAeAAAAEOAAAAABACAAAA==</data>
    </array>
</dict>
</plist>

文件配置完成之后就按照2.4.1中的②③④操作即可。

2.5 使用RDM进行切换

重启系统打开RDM,这就可以进行切换了。

如图:

3 最后总结

这个方法是我自己尝试过不仅能够调节分辨率,而且也不会出现字体发飘的现象,而且应该是比较安全的一个方法。

相关推荐
Java小白笔记3 小时前
Mac中安装homebrew
macos
HerayChen6 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
hairenjing11236 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
小李飞刀李寻欢9 小时前
Mac电脑如何解压rar压缩包
macos·rar·解压
Java小白笔记9 小时前
Mac中禁用系统更新
macos
AndyFrank9 小时前
mac crontab 不能使用问题简记
linux·运维·macos
Mac新人9 小时前
一招解决Mac没有剪切板历史记录的问题
macos·mac
王拴柱9 小时前
Mac保护电池健康,延长电池使用寿命的好方法
macos·mac
daa209 小时前
macos中安装和设置ninja
macos
Java小白笔记10 小时前
Mac解决 zsh: command not found: ll
macos