Mac High Sierra外接显示器设置(解决字体模糊问题,开启high dpi)
缘起
前段时间看到同事的mac外接了个27寸的显示器,用起来挺带感的,超级大的屏幕~~~而大屏幕呢,也可以保护眼睛,保护颈椎
于是呢,等到12.12的时候果断入手了一个24寸2K分辨率的屏幕。欢欢喜喜接上外接显示器,我却蒙了,这tm显示效果还不如ubuntu呢,本来以屏幕清晰锐利著称的mac,居然模糊的比ubuntu的模糊风格渲染更模糊,还晃眼睛。。。。。。
这可忍孰不可忍,果断找找方法怎么提高下外接屏幕的显示质量~~~
折腾过程
网上搜了下mac外接显示器模糊的问题,找到了一大票文章,然而呢,大部分都是相同的方法,并且都已经不适用于最新版本的high sierra系统。。。这个就非常坑了,只能是一个一个慢慢摸索了,下面列举下这几种方法
1、通过xcode tool的调试功能开启highdpi
各种文章里都会写 可以通过这个命令开启highdpi
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
然后,在显示器的分辨率里,就会出现带hidpi标志的高清分辨率(类似于降低分辨率,提高 清晰度),注意如果没出现可以按option按键,然后选择缩放按钮,就会发现分辨率列表变多了,如下图
然而呢,这个教程现在已经不适用与最新版本的mac系统了,按照操作处理后,并没有hidpi的分辨率出现,更不用说去选择了,所以这种方法直接不可用~~
2、通过设置字体平滑解决字体模糊
然后呢,继续各种查资料,查到这么一种解决字体模糊的方法,文章介绍说可以通过下面的命令,将系统的字体平滑度调高,从而解决模糊问题,设置命令如下:
defaults -currentHost write -globalDomain AppleFontSmoothing -int 2
删除这个设置的命令如下:
defaults -currentHost delete -globalDomain AppleFontSmoothing
不过呢,很不幸,这种方法也基本没有什么作用,可能是在最新的系统上不可用了吧,sad。。。
3、通过设置显示器强制RGB渲染
然后呢,继续搜,找到一篇文章说是有可能是mac把外接显示器识别为电视机(TV模式)了,导致显示效果比较差
看了关于-》系统报告里外接显示器的信息,其实并没有被识别为TV,不过抱着试一试的想法,也设置了一下
设置方法参考这两个地方如下,注意在高版本系统上需要关闭SIP,具体可以google,其实就是关闭系统的保护,让我们可以写入关键系统文件
http://www.ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor/comment-page-6#comment-10104
这是ruby代码
http://embdev.net/attachment/168316/patch-edid.rb
不幸的是,这种方法试了之后发现也失效了,sad *2.。。。
4、通过RDM工具设置highdpi
然后呢,只能继续搜咯,绝望.gif 找到了一个有界面的工具,叫做RDM,大家如果使用brew cask的话可以使用brew来安装,这样就可以随时更新咯,否则的话可以在这里下载http://www.appinn.com/mac-retina-displaymenu-for-macbook-pro/
安装完之后,效果如下图,RDM已经内置了很多的分辨率(比系统自带的多得多),其中带闪电标志的为hidpi分辨率,我们只要选择这些分辨率就可以了
注意:在使用之前记得也用下面的命令设置下高清分辨率
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
然后呢,这个工具终于,久违的,可以用啦,好开心~~~
选择高清分辨率后,屏幕显示效果就非常好了,字体比之前锐利太多~~~
当然,我用这个工具之后发现有个问题,就是和显示器比例相同的分辨率有的不可用,比如1600*900的16:9分辨率选择后就不生效,从而在屏幕变清晰的同时,屏幕两边出现了黑边~~~sad * 3 。。。。
5、设置最佳分辨率
上面第四部,我们已经获得了很好的显示效果,胜利就在眼前咯,接下来是折腾出在rdm里可以生效的最佳分辨率的hidpi选项
然后我又找到了一个开源项目,据称是可以通过命令行生成各种自定义分辨率的highdpi分辨率配置文件,从而向RDM中添加自定义分辨率
项目地址在这https://github.com/syscl/Enable-HiDPI-OSX/ 使用方法比较简单,在这里我就不再赘述
根据我自己试用的经验,此项目由于2017年基本没有维护,在最新系统上已经不可用了,具体表现就是我们可以成功执行配置文件,但是重启后没有生成想要的highdpi配置(在rdm里选择后依然不生效)
因此,此方法不推荐,如果你遇到问题了可以一试,如果不行就别折腾了,因为项目基本没人维护
6、高清分辨率配置文件自动生成页面
上面我们尝试使用开源的命令行工具去生成配置文件,但是最终失败了,只能是继续探索咯,sad* 4.。。。
于是呢,又找到一篇文章,说是github上有个页面可以生成高清配置文件,同时还支持最新的high sierra系统,立马进去按说明使用了下,居然真的可以了,呵呵哈哈哈,好开心
页面地址在这,https://comsysto.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HiDPI-Support-For-Scaled-Resolutions/ ,里边的说明非常详细,只要心细(不要搞混Product id和vender id),生成文件后按照说明拷贝到系统目录下,然后重启,就能在rdm里看到想要的hidpi的分辨率了,比如1600*900
如果这个地址不可用,可以试试我这个https://out0fmemory.github.io/mac_high_dpi/index.html(注意需要翻墙访问)
注意:这种方法依然需要关闭SIP,我们可以在成功之后再开启提高安全性
总结
至此,我们已经得到很好的外接显示效果了,经过对比,2K的显示器使用1600*900的分辨率效果已经不错了(虽然比内置的还差点),如果你是4K分辨率,那完全可以使用1080p的highdpi模式,效果也是很不错的。
总体上的方案最终是:RDM软件 + hidpi配置生成页面
最后吐槽一句:mac对外接显示器真的很敷衍(或者为了推销自家的死贵的显示器?),你用虚拟机安装个黑苹果,投放到外接显示器就知道了,这简直不能比(在虚拟机里的黑苹果锐利无比,而原生的外接简直一坨翔。。。。)
参考文档
http://liuxiang.logdown.com/posts/153620-solve-the-mac-fonts-on-the-external-monitor-fuzzy-problem
https://www.jianshu.com/p/30e6f84ffce8
已有6位网友发表了看法:
感谢楼主
https://github.com/usr-sse2/RDM
https://github.com/usr-sse2/RDM
发表评论