Skip to content

修复2014中期款MacBook Pro进入系统时自动亮度失效的问题。Fix the problem of automatic brightness failure when the 2014 mid MacBook Pro enters the system.

License

Notifications You must be signed in to change notification settings

sprlightning/FABFM_Fix-Automatic-Brightness-Failure-of-MacBookPro

Repository files navigation

FABFM_Fix-Automatic-Brightness-Failure-of-MacBookPro

一、功能描述

  修复2014中期款MacBook Pro进入系统时自动亮度失效的问题。
  Fix the problem of automatic brightness failure when the 2014 mid MacBook Pro enters the system.
  截屏2023-03-11 08 50 30

  详细信息大家可以去哔哩哔哩观看:https://www.bilibili.com/video/BV1rs4y157b5/

  截屏2023-03-11 01 22 51

二、初始故障描述

  根据统计,大多数MacBook Pro mid 2013~2014,以及部分2015版本,存在升级BigSur 11.2.1及更新版本(目前是11.7.4)后,开机或重启后,系统会失去对屏幕的自动亮度控制,以及手动亮度控制。
  但是安装双系统,发现Windows10不存在亮度不可控的问题,简单来说就是Windows下亮度控制一切正常。

三、故障分析

  驱动加载异常。

四、解决办法

(1)睡眠解决:

  点击睡眠,再立刻唤醒,可暂时恢复亮度控制;

(2)开合盖子:

  盖上盖子,再立刻打开,可暂时恢复亮度控制;

(3)终端息屏:

  终端息屏再唤醒,可暂时恢复亮度控制;

(4)封装app:

  将息屏和唤醒指令打包进app,开机自动执行指令,可永久解决亮度控制。
  注意其中(1)~(3),不具备自动化,每次开机都需要手动操作,很繁琐;而(4)是自动化操作,相对便捷。

五、具体细节

(1)代码分析。

  pmset displaysleepnow,此为立刻息屏;
  caffeinate -u -t s,此为禁用系统睡眠s秒,执行此命令会强制开启屏幕显示,可用来亮屏;
  sleep s,为等待s秒。
  PS.注意息屏与亮屏中间,必须留有足够的时间间隔,否则后者不会被执行!
  所以正确的指令应为:pmset displaysleepnow;sleep s;caffeinate -u -t s;(s表示时间,单位为秒,推荐5s),示例如下:
  例:pmset displaysleepnow;sleep 5;caffeinate -u -t 5;
  我这里说明一下sleep的时长,为了减少亮灭切换对LCD显示器的伤害,时间间隔建议至少为5s;对于caffeinate,建议大于等于1s即可;

(2)创建自动化。

  1)在macOS自带的自动操作app中创建应用程序,从实用工具选出终端shell,添加至程序;
  2)再将(1)中的代码写入shell编辑框,保存为app;
  3)为上述步骤生成的app拷贝至“应用程序”目录,并在“系统偏好设置/安全与隐私”为其开启辅助功能权限,同时为“自动操作app”开启辅助功能权限;
    截屏2023-03-11 01 13 06

  4)然后在“系统偏好设置/用户与群组/登录项”将本程序添加开机自启动,即可。
    截屏2023-03-11 01 13 27

  5)下次重启,或者开机,登录进入系统时,该app就会立刻自动按指令关闭并重新开启显示器,恢复一切亮度控制。并发送一条通知告诉你亮度控制已恢复正常。
    截屏2023-03-11 01 06 47

About

修复2014中期款MacBook Pro进入系统时自动亮度失效的问题。Fix the problem of automatic brightness failure when the 2014 mid MacBook Pro enters the system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published