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

OS X 中的终端 远程登录和 SSH 连接对脚本编写或远程管理有帮助。在这些情况以及许多其他情况下,您可能希望从 Mac OS X 中的命令行检索显示器的当前屏幕分辨率。

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

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

system_profiler SPDisplaysDataType |grep 分辨率

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

输出很容易阅读,应该如下所示:

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

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

该命令应该适用于几乎所有版本的 Mac OS X,但请注意,当前版本的 Yosemite 会转储一些不必要的输出,如果您打算将其用于脚本编写,则可能应该使用 awk 清除这些输出。它仍然可读,但有点混乱。

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

请记住,输出显示的是活动分辨率,而不是显示器上可能的最大分辨率。因此,视网膜显示屏将显示当前在屏幕空间方面中使用的内容,不是显示器的最大可能分辨率。