system_profiler SPDisplaysDataType
дасть вам фізичну роздільну здатність дисплея Retina, але він не дасть вам ефективної (масштабованої) роздільної здатності. Якщо вам це потрібно, ви можете отримати його за допомогоюosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Зауважте, що якщо ви працюєте з налаштуваннями декількох моніторів, це може потребувати певної інтерпретації. Наприклад, у мене є Retina iMac 21 "з фізичною роздільною здатністю 4096x2304 та масштабованою роздільною здатністю 2560x1440; у мене також є зовнішній портретний монітор, який працює в 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Коли я запускаю команду вище, вона повідомляє:
-1440, 0, 2560, 2560
Це межі робочого столу відносно лівого верхнього кута головного монітора :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Як бачите, це саме по собі насправді не дає вам масштабовану вертикальну роздільну здатність основного монітора (хоча ви можете це зрозуміти з фізичного співвідношення сторін).
Інший варіант - екранізація утиліти GPL'ed (яка доступна через Homebrew, якщо ви не хочете створювати її самостійно). Командний рядок не дуже схожий ні на що інше на цій землі, але він працює:
$ screenresolution get
2018-04-20 10:00:14.935 screenresolution[12084:518367] starting screenresolution argv=screenresolution get
2018-04-20 10:00:14.938 screenresolution[12084:518367] Display 0: 2560x1440x32@0
2018-04-20 10:00:14.939 screenresolution[12084:518367] Display 1: 1440x2560x32@60
Як бонус, він також дає глибину кольору в бітах і, якщо є така, частоту оновлення в Гц.