system_profiler SPDisplaysDataType
vous donnera la résolution physique d'un écran Retina, mais il ne vous donnera pas la résolution effective (mise à l'échelle). Si vous en avez besoin, vous pouvez l' obtenir avecosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Notez que si vous exécutez une configuration multi-écrans, cela peut nécessiter une certaine interprétation. Par exemple, j'ai un Retina iMac 21 "avec une résolution physique de 4096x2304 et une résolution réduite de 2560x1440; J'ai également un moniteur portrait externe fonctionnant à 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Lorsque j'exécute la commande ci-dessus, il signale:
-1440, 0, 2560, 2560
Ce sont les limites du bureau par rapport au coin supérieur gauche du moniteur principal :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Comme vous pouvez le voir, cela ne vous donne pas en soi la résolution verticale mise à l'échelle du moniteur principal (bien que vous puissiez le comprendre à partir du rapport d'aspect physique).
Une autre option est la résolution d'écran de l'utilitaire GPL (qui est disponible via Homebrew si vous ne voulez pas le construire vous-même). La ligne de commande ne ressemble à rien d'autre sur cette terre, mais elle fonctionne:
$ 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
En prime, il vous donne également la profondeur de couleur en bits et, si disponible, le taux de rafraîchissement en Hz.