system_profiler SPDisplaysDataType
le dará la resolución física de una pantalla Retina, pero no le dará la resolución efectiva (a escala). Si lo necesita, puede obtenerlo conosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Tenga en cuenta que si está ejecutando una configuración de monitores múltiples, esto puede requerir alguna interpretación. Por ejemplo, tengo un Retina iMac 21 "con resolución física 4096x2304 y resolución escalada 2560x1440; También tengo un monitor de retrato externo que funciona a 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Cuando ejecuto el comando anterior, informa:
-1440, 0, 2560, 2560
Estos son los límites del escritorio en relación con la esquina superior izquierda del monitor principal :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Como puede ver, esto en sí mismo no le brinda la resolución vertical escalada del monitor principal (aunque puede averiguarlo a partir de la relación de aspecto físico).
Otra opción es la resolución de pantalla de la utilidad GPL (que está disponible a través de Homebrew si no desea construirlo usted mismo). La línea de comando no se parece mucho a nada en este mundo, pero funciona:
$ 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
Como beneficio adicional, también le brinda la profundidad de color en bits y, si está disponible, la frecuencia de actualización en Hz.