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

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

如何从 OS X 中的命令行获取当前显示分辨​​率?

答案1

system_profiler SPDisplaysDataType | grep Resolution

答案2

快速读取单个视网膜显示器的当前虚拟分辨率:

$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280

多显示器设置的结果取决于哪个显示器为主显示器以及它们的排列方式。阅读更多这里

答案3

我使用这个实用程序screenresolution获取屏幕分辨率:

$ /usr/local/bin/screenresolution get 2>&1 | grep -oE 'Display 0: [0-9]+' | grep -Eo '[0-9]+$'  
1920

答案4

我写展示放置器,这可以帮助解决这个问题。执行后displayplacer list,它将显示所有屏幕的当前分辨率(以及更多信息)。

$ displayplacer list
Persistent screen id: A46D2F5E-487B-CC69-C588-ECFD519016E5
Contextual screen id: 1124216237
Type: 40 inch external screen
Resolution: 3840x2160
Hertz: 60
Color Depth: 4
Scaling:off
Origin: (0,0) - main display
Rotation: 0
Resolutions for rotation 0:
  mode 0: res:3840x2160 hz:60 color_depth:4 <-- current mode
  mode 1: res:3840x2160 hz:60 color_depth:8
  mode 2: res:3840x2160 hz:30 color_depth:4
...
Persistent screen id: 2960D639-F605-5BB4-A53D-A3263008894C
Contextual screen id: 69733451
Type: MacBook built in screen
Resolution: 1680x1050
Hertz: N/A
Color Depth: 4
Scaling:on
Origin: (-1680,1291)
Rotation: 0 - rotate internal screen example (may crash computer, but will be rotated after rebooting): `displayplacer "id:2960D639-F605-5BB4-A53D-A3263008894C degree:90"`
Resolutions for rotation 0:
  mode 0: res:1440x900 color_depth:4 scaling:on
  mode 1: res:1440x900 color_depth:8 scaling:on
  mode 2: res:720x450 color_depth:4 scaling:on

grep 是一种解析输出的简单方法。

$ displayplacer list | grep -e Resolution: -e Scaling:
Resolution: 3840x2160
Scaling:off
Resolution: 1680x1050
Scaling:on

也可以通过 Homebrew 获得brew tap jakehilborn/jakehilborn && brew install displayplacer

相关内容