• MacBook Pro的touchbar疯狂闪烁 通过写程序不断点亮touchbar,从而避免其闪烁


    参考链接

    问题定位

    • 问题总结如下:
      • touchbar 闪烁出现在其未被激活使用的时候
      • touchbar 闪烁是随机发生的
      • touchbar 闪烁也出现在安全模式
      • 重置 SMC 或 NVRAM 无济于事
      • 重新安装 MacOS 没有帮助
    • 这是一个硬件问题,如果 MacBook 不在保修范围内,维修代价高昂,并不值得
    • 核心思想
      • 因为触控栏在活动时不会闪烁,所以不断激活触控栏使其处于活动状态是修复touchbar闪烁的关键,此修复程序只做一件事:它使 TouchBar 保持活动状态,因此它不会关闭。准确地说,每当touchbar即将关闭时此程序都会重新启动 TouchBar。
         

    脚本

    • 脚本程序已在 MacBook Pro 15 英寸 2019 和 MacOS Monterey 12.1 上进行了测试,并没有任何问题 

    设置键盘

    • 在继续之前,请确保您的键盘设置和我保持一致。
    • 重要的是关闭键盘背光,将其设置为至少 1 分钟。

     软件

    • 从苹果商店下载软件,软件的名字如下,JSON Helper

    • 打开上述软件,并黏贴代码
    • 注意事项:切记要替换下面代码中的字段YourUserNameGoesThereYourPasswordGoesThere,且每个字段均替换了两次
    1. global computerIsInUse, resetTime
    2. on run
    3. set computerIsInUse to true
    4. set resetTime to (do shell script "date +%s") as integer
    5. end run
    6. on idle
    7. set idleTime to (do shell script "ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF; exit}'") as integer
    8. if idleTime is greater than 7.4E+10 then
    9. if computerIsInUse then
    10. do shell script "pkill TouchBarServer" user name "YourUserNameGoesThere" password "YourPasswordGoesThere" with administrator privileges
    11. set computerIsInUse to false
    12. end if
    13. end if
    14. if idleTime is less than 7.4E+10 then
    15. set computerIsInUse to true
    16. end if
    17. set now to (do shell script "date +%s") as integer
    18. if (not computerIsInUse) and ((now - resetTime) is greater than 59) then
    19. do shell script "pkill TouchBarServer" user name "YourUserNameGoesThere" password "YourPasswordGoesThere" with administrator privileges
    20. set resetTime to (do shell script "date +%s") as integer
    21. end if
    22. return 1
    23. end idle

    脚本的作用:

    1. 在第 9 行,程序检查您未使用计算机的时间:idleTime
    2. 因为 TouchBar 大约在 75 秒后完全关闭,所以它会检查idleTime是在 74 秒之前还是之后:7.4E+10。
    3. 如果idleTime经过这 75 秒,它会重新启动 TouchBar 并设置computerIsInUse为 false,因为您显然没有使用计算机(不是按键或鼠标等)。
    4. 如果computerIsInUse为假(仅在 75 秒后发生),它将立即重新启动 TouchBar,然后每 60 秒(超过 59 秒)重新启动。为什么?因为如果没有,你的 Touchbar 会在 60 秒后消失。该脚本必须每 60 秒重新启动一次。

    注释:当 TouchBar 在前 60 秒后稍微变暗并保持稍微变暗约 15 秒(第一次重启发生在 7.4E+10 之后的原因)时,您可以在这 15 秒内体验到闪烁应用。这些是更新 Touchbar 中数据的应用程序,例如 IINA。如果您遇到这种情况,只需将 7.4E+10 更改为 5.9E+10。

    创建应用

    • 现在可以将脚本导出为应用程序。
    • 选择File -> Export并创建最终应用程序:
    • 请参见下面的屏幕截图。
    • 找到桌面的程序,右键打开即可发挥应用的作用

    • 使用活动监视器可以看到新建的程序

     注意事项

    • 设置程序后台启动,不显示应用图标,参考上述参考链接

     

     

  • 相关阅读:
    Unity-2D像素晶格化消融
    leetcode 85. 最大矩形
    开始投简历了
    数据结构-----【链表:基础】
    【服务器数据恢复】ext3文件系统下硬盘坏道掉线的数据恢复案例
    Python基础入门篇【20】--python中的流程控制之循环控制 :while循环及循环扩展内容
    第一章 系统工程概述|系统建模语言SysML实用指南学习
    如何学习一个大型分布式Java项目
    趣谈网络协议_1
    1920: 【C2】【字符串】调换位置
  • 原文地址:https://blog.csdn.net/CHYabc123456hh/article/details/126922379