我有两台Big Sur笔记本电脑,一台是Intel处理器,另一台是M1(MacBook Pro M1)。当我运行命令"ioreg | grep -i iodisplayconnect"时,Intel处理器上仍然有这个命令,但是M1系统没有找到任何内容。有人知道M1 Big Sur中的替代品吗?我需要它来检测显示器名称。
我有两台Big Sur笔记本电脑,一台是Intel处理器,另一台是M1(MacBook Pro M1)。当我运行命令"ioreg | grep -i iodisplayconnect"时,Intel处理器上仍然有这个命令,但是M1系统没有找到任何内容。有人知道M1 Big Sur中的替代品吗?我需要它来检测显示器名称。
我曾经有同样的问题,但我是为了读取显示屏亮度而寻找IODisplayConnect。
在运行Big Sur的M1 Mac上,最简单的获取亮度信息方法是运行corebrightnessdiag
命令:
$ /usr/libexec/corebrightnessdiag status-info | grep 'DisplayServicesBrightness '
DisplayServicesBrightness = "0.9302966";
/System/Library/PrivateFrameworks/DisplayServices.framework
)中的私有API:extern int DisplayServicesGetBrightness(int display, float *brightness);
extern int DisplayServicesSetBrightness(int display, float brightness);
// Change brightness
float brightness = 0.8;
int err = DisplayServicesSetBrightness(1, brightness);
// Get current brightness
err = DisplayServicesGetBrightness(1, &brightness);
看起来 NSScreen 是答案,虽然无法获取其他信息,但并不完美。