遇到姿势
MacBook外接显示器对于编程人员是一种优雅姿态(手动笑^_ ^||),苹果提供了几种显示模式,包括:
- 扩展模式
- 合盖模式
- 镜像模式
- 混合模式
具体的模式说明及设置可参考Mac外接显示器的显示模式及设置
其中合盖模式
使用最为广泛,其最大化的使用显卡性能,显示效果是最好的,但是对于cpu高负荷的情况下,机身温度攀升会一定程度影响液晶屏幕,并且机身键盘区域也是Mac散热设计的重要部分。
如上图,室内温度在23℃,在cpu占用率不到5%的情况下外接4k显示器(分辨率2560x1440 30Hz),cpu温度都轻松上60℃,可见外接4k显示器很考验集显性能;
若避免合盖
模式下的散热问题使用扩展模式
的话,一般会将外接显示作为主屏幕,导致内置屏幕长时间显示一个姿态,这种是不利于液晶屏幕的长久使用。因此,如何开盖外接显示器的情况下又关闭内屏称为“码农们”的一大需求。
优雅姿态
对于如何开盖外接显示器关闭内屏显示,即关闭GPU驱动内屏显示,降低显卡性能损耗利于散热,网上已经给出了几种方法:
- 磁铁大法
通过磁铁欺骗系统自动息屏,但此方法需要正确找到磁铁的位置,且存在未取磁铁合盖碎屏的风险; - 调低显示器亮度来欺骗自己
这种方法只是关闭液晶显示器的背光,GPU仍然在驱动显示器; - 修改
nvram
系统配置
此方法可在系统驱动层关闭内屏显卡驱动;
重点说明下如何修改nvram
配置,具体的命令如下:
sudo nvram boot-args="niog=1"
该命令就是外接显示器下关闭内屏,若出现如下报错:
nvram: Error setting variable - 'boot-args': (iokit/common) general error
需要开机启动时command+r
进入恢复模式终端下输入此命令;
若出现如下错误:
nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
则需要进入恢复模式并关闭SIP
;
设置完成后,需要连接外接显示及电源并关机重启,进入用户启动页面后,立即合盖,等待外接显示器有信号时开盖即可。
补充说明:对于多用户,需要指定登录用户启动后合盖;
保持姿态
通过修改nvram
配置可能存在如下问题:
- 休眠唤醒时会点亮屏幕
【解决】合盖,敲外接键盘或鼠标点亮外接显示器,键盘按command+F2(屏幕会闪烁一下),开盖
- 外接键盘失效
原因未知,可能和触摸板冲突,这个需要重新开机进入外接显示器模式
如何不重启的情况下开启内屏?
使用command+f2
进入扩展模式,command+f1
进入镜像模式,再使用command+f1
可关闭镜像模式进入扩展模式;
在开启内屏的情况下,可合盖等待系统睡眠显示器关闭,再通过外接键盘激活系统,并开盖,此时系统依然是关闭内屏模式,内屏为关闭状态;
如何恢复nvram
系统配置
nvram
提供了具体的命令,如下:
sudo nvram -d boot-args
可通过如下命令查看具体的配置参数:
sudo nvram -x -p
如何重置nvram
可参考官方指导重置 Mac 上的 NVRAM 或 PRAM
Reference
3 Ways to Turn Off The Screen of Your MacBook Without Closing The Lid [OS X Tips]
How to overcome Error Setting Variable - ‘boot-args’ : (iokit/common) not permitted
Macbook Pro 用外接显示器时,如何关闭笔记本屏幕,同时开盖使用