system_profiler SPDisplaysDataType
fornecerá a resolução física de uma tela Retina, mas não fornecerá a resolução efetiva (em escala). Se você precisar, pode obtê-lo comosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Observe que, se você estiver executando uma configuração de vários monitores, isso poderá exigir alguma interpretação. Por exemplo, eu tenho um Retina iMac 21 "com resolução física 4096x2304 e resolução dimensionada 2560x1440; também tenho um monitor retrato externo em execução em 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Quando executo o comando acima, ele informa:
-1440, 0, 2560, 2560
Estes são os limites da área de trabalho em relação ao canto superior esquerdo do monitor principal :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Como você pode ver, isso por si só não fornece a resolução vertical em escala do monitor principal (embora você possa descobrir isso a partir da proporção física).
Outra opção é o utilitário GPL'ed screenresolution (que está disponível através do Homebrew se você não quer construir it yourself). A linha de comando não é muito parecida com qualquer outra coisa nesta terra, mas 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 bônus, também fornece a profundidade da cor em bits e, se disponível, a taxa de atualização em Hz.