如何从 Mac OS X 中的命令行获取当前屏幕分辨率

Anonim

通常 Mac 用户会通过 OS X 中的显示系统首选项面板检索连接显示器的屏幕分辨率。这种方法当然没有错,它简单快捷,但是因为它使用 OS X 的图形界面,所以对脚本编写没有必要帮助目的或通过远程登录和 SSH 连接进行远程管理。在这些情况以及许多其他情况下,您可能希望从 Mac OS X 中的命令行检索显示器的当前屏幕分辨率。

您可以在 system_profiler 命令的帮助下获得精确的屏幕分辨率,该命令将详细的系统信息提取为 Apple System Profiler 实用程序的命令行版本,长期与 OS X 捆绑在一起。要使用的语法很简单,您可能希望使用 grep 清理输出以仅显示分辨率。

用于获取已连接显示器分辨率的system_profiler 命令如下,与命令行语法一样,请确保该命令在一行中:

system_profiler SPDisplaysDataType |grep Resolution

sudo 的使用不是必需的,但如果出于某种原因,您可以在命令前加上它。

输出易于阅读,应类似于以下内容:

$ system_profiler SPDisplaysDataType |grep 分辨率分辨率:1920 x 1080

如果您在 Mac 上使用多个显示器,每个连接的屏幕的分辨率将被报告回来。如果连接的外部显示器是电视,电视屏幕的分辨率也会报告为 720p 或 1080p。

该命令应该适用于几乎每个版本的 Mac OS X,但请注意,当前版本的 Yosemite 会转储一些不必要的输出,如果您要使用它,可能应该用 awk 清除这些输出用于脚本。可读性还是可以的,就是有点乱

请注意,如果您愿意,可以跳过命令的grep 部分,这样做会报告扩展的显示详细信息,这也很有用。

记住输出显示的是活动分辨率,而不是显示器上可能的最大分辨率。因此,Retina 显示屏将根据屏幕空间显示当前正在使用的内容,而不是显示的最大可能分辨率。

如何从 Mac OS X 中的命令行获取当前屏幕分辨率