11

几天来我一直在内核代码仓库中挖掘,但我在任何地方都找不到。

我想禁用/启用/检测许多高端 Mac 笔记本电脑所具有的基于环境光传感器的屏幕调光状态。这是由显示控制面板中的“自动调整亮度”复选框激活的调光。

请注意,我不是在谈论导致屏幕在睡眠前急剧变暗的 halfdim 设置。我说的是在黑暗的房间里调暗屏幕并在明亮的房间里调亮屏幕的设置,这是不同的。

如果有人能指出我正确的方向,我会很高兴的。我假设它在 IOKit 的某个地方处理,可能是处理屏幕亮度的 IOGraphics,或者在 IOKit/pwr_mgt 的某个地方,但我就是找不到它。

谢谢

编辑:我知道你可以通过使用 AppleScript 解决系统偏好来做到这一点。我正在寻找真正的方法,如果它存在的话。

4

4 回答 4

5

试图在小牛队这样做对我来说是不成功的。经过一番研究,我发现您需要使用以下命令:

defaults write /Library/Preferences/com.apple.iokit.AmbientLightSensor "Automatic Display Enabled" -bool TRUE

我相信指定完整路径是必要的,否则它将默认为用户的库/首选项,这是不正确的。由于工作方式,在终端中的该目录中也不起作用defaults

这不会更新系统偏好设置 -> 显示中的复选框。

于 2014-09-28T17:27:42.427 回答
4

这不是 API 本身,很多方法可以launchd 通过 API进行控制。

sudo launchctl stop com.apple.AmbientDisplayAgent

sudo launchctl remove com.apple.AmbientDisplayAgent

达达!

于 2017-01-28T22:44:39.873 回答
1

defaults使用以下命令更改“自动调整亮度”设置:

defaults write com.apple.BezelServices dAuto -boolean false

defaults还可以使用以下命令检索当前设置:

defaults read com.apple.BezelServices dAuto

AppleScript 等价物:

do shell script "defaults write com.apple.BezelServices dAuto -boolean false"

用于true启用和false禁用该功能。
您可能需要再次登录才能使更改生效。

于 2012-09-04T11:29:47.993 回答
1

发布此内容可能会帮助像我这样已经禁用环境光感应但仍然发现他们的计算机在从睡眠中醒来时变暗的人。原来我还需要取消选中“使用电池供电时显示屏稍微变暗”的复选框

系统偏好设置 > 电池 > 使用电池供电时使显示屏略微变暗

见下图:

取消选中电池自动变暗

于 2021-02-18T21:22:15.030 回答