Как я могу получить текущее разрешение экрана из командной строки на OS X?

Ответы:

76
system_profiler SPDisplaysDataType | grep Resolution
Gerry
источник
6
На Macbook Pro (10.8.3) возвращается только максимальное разрешение ЖК-дисплея, а не текущее / выбранное разрешение экрана.
Studgeek
1
На моем Air, работающем 10.8.4 с внешним дисплеем, это показывает разрешение Air и разрешение внешнего дисплея в отдельных строках.
Джим Стюарт,
@studgeek Я не уверен, что это все еще проблема, но в моем эфире отображается текущее разрешение. Очень странно, что Профи изменит это поведение.
Джерри
1
Он отображает текущее разрешение на модели MacBook Pro 2011, работающей под управлением Mavericks.
daviewales
1
Он показывает текущее разрешение на MBP с OSX 10.9.4
aymericbeaumet
12

Для быстрого просмотра текущего виртуального разрешения одного дисплея сетчатки глаза:

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

Результаты настройки нескольких мониторов различаются в зависимости от того, какой дисплей является основным и как они расположены. Узнайте больше здесь

rymo
источник
1
Это работает, ответ, предоставленный Джерри, является неправильным.
Нечеткий
Большой! Это намного быстрее, чем system_profiler!
Дан
Они дают разные цифры в случае с Retina.
Накилон
3

Я использую утилиту, screenresolutionчтобы получить разрешение экрана:

$ /usr/local/bin/screenresolution get 2>&1 | grep -oE 'Display 0: [0-9]+' | grep -Eo '[0-9]+$'  
1920
Марк Стюарт
источник
0

Я написал displayplacer , который может помочь с этим. Выполните, 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

Джейк Хилборн
источник
1
(1) Я предполагаю, что вы автор этой программы (имя совпадает). Вы должны сказать об этом ясно и четко, как только упомянете программу. (2) Это был бы лучший ответ, если бы вы на самом деле показали, как анализировать вывод вашей программы, чтобы получить то, о чем просит вопрос, а не просто рекламировать вашу программу. ... ... ... ... ... ... ... ... ... ... ... ... ... Пожалуйста, не отвечайте в комментариях; отредактируйте  свой ответ, чтобы сделать его более понятным и полным.
Скотт