system_profiler SPDisplaysDataType
gibt Ihnen die physikalische Auflösung eines Retina-Displays, aber nicht die effektive (skalierte) Auflösung. Wenn Sie das brauchen, können Sie es irgendwie mit bekommenosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Beachten Sie, dass bei einem Setup mit mehreren Monitoren möglicherweise eine Interpretation erforderlich ist. Ich habe beispielsweise einen Retina iMac 21 "mit einer physischen Auflösung von 4096 x 2304 und einer skalierten Auflösung von 2560 x 1440; ich habe auch einen externen Porträtmonitor mit einer Auflösung von 1440 x 2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Wenn ich den obigen Befehl ausführe, wird Folgendes gemeldet:
-1440, 0, 2560, 2560
Dies sind die Grenzen des Desktops relativ zur oberen linken Ecke des Hauptmonitors :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Wie Sie sehen können, ergibt dies für sich genommen nicht die skalierte vertikale Auflösung des Hauptmonitors (obwohl Sie dies anhand des physikalischen Seitenverhältnisses herausfinden können).
Eine weitere Option ist die GPL'ed Dienstprogramm Bildschirmauflösung (die durch verfügbar ist Homebrew , wenn Sie es nicht selbst aufbauen wollen). Die Kommandozeile ist mit nichts anderem auf dieser Erde vergleichbar, aber es funktioniert:
$ 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
Als Bonus erhalten Sie auch die Farbtiefe in Bit und, falls verfügbar, die Bildwiederholfrequenz in Hz.