我将尽力做到彻底,但如果您有疑问或想要进行额外的测试。我将尽可能提供更多细节。我有少数计算机在从睡眠中醒来时表现出间歇性问题。
一些细节: 绑定到 Active Directory(尽管问题发生时绑定可能会被破坏) OSX-10.12.3 机器已加密
症状: 当用户使计算机进入睡眠状态并启用锁定的屏幕保护程序,然后尝试唤醒计算机时,他们将无法使用其凭据登录。
如果他们单击“切换用户”,他们就可以登录自己的帐户,但是,他们不会被识别为管理员,并且无法运行 sudo 命令或解锁系统首选项。
至少在我能够使用的计算机上,他们似乎无法在终端或系统首选项中进行身份验证,除非他们更改网络连接以反映允许他们登录的连接。因此,如果他们切换用户,然后连接到 wifi,他们无法在 sysprefs 中进行身份验证,但如果他们关闭 wifi,那么他们就能够进行身份验证。
单击“切换用户”时,Wi-Fi 似乎断开,因此允许他们登录。
重新启动可以解决某些用户的问题,但不能解决其他用户的问题(未经验证,关闭用户输入,我重新启动的计算机确实解决了问题,至少暂时解决了。)
通常,当我看到此问题时,计算机似乎已与 Active Directory 解除绑定。重新绑定似乎可以暂时解决问题(直到 AD 再次删除钥匙串项目)。
该问题在升级到 OSX 10.12 之前就已存在。
在我看来,计算机知道如何检查 AD 是否有互联网可用,但如果 AD 无法访问或凭据不被接受,那么它不知道默认为本地缓存,除非完全关闭互联网。我不确定其中可能涉及哪些文件,但我想在连接互联网但无法访问 AD 以及没有互联网时将该文件更改为默认为本地缓存。
这是 opendirectoryd 守护进程的问题,该守护进程在尝试与 AD 绑定时会出现错误。 原始解决方案基本上是杀死守护进程,该守护进程将以某种方式重新启动并重新绑定。
有很多方法可以自动杀死,一个 cronjob 可以工作,但需要每分钟运行一次killall命令,这是非常脏的。
我正在使用 sleepwatcher(可通过自制程序使用)并将其设置为在每次笔记本电脑进入睡眠状态时启动终止命令,这就像一个魅力。
这是一种解决方法,但苹果似乎并没有真正致力于解决这个持续多年的问题。
如果在辅助功能设置中打开“鼠标键”,就会发生这种情况。转到系统设置>>辅助功能>>指针控制>>切换鼠标键旁边的按钮将其关闭。