Comment puis-je obtenir la résolution d'écran actuelle à partir de la ligne de commande sous OS X?

Réponses:

76
system_profiler SPDisplaysDataType | grep Resolution
Gerry
la source
6
Sur un Macbook pro (10.8.3), cela ne fait que renvoyer la résolution maximale de l'écran LCD, pas la résolution d'affichage actuelle / sélectionnée.
studgeek
1
Sur mon Air fonctionnant sous 10.8.4 avec un écran externe, ceci affiche à la fois la résolution de l'Air et la résolution de l'écran externe, sur des lignes séparées.
Jim Stewart
@studgeek Je ne sais pas si c'est toujours un problème, mais sur mon Air, il affiche la résolution actuelle. C'est très étrange que le Pro modifie ce comportement.
Gerry
1
Il affiche la résolution actuelle sur un modèle MacBook Pro 2011, exécutant Mavericks.
daviewales
1
Il montre la résolution actuelle sur un MBP avec OSX 10.9.4
aymericbeaumet
12

Pour une lecture rapide de la résolution virtuelle actuelle d’un seul écran Retina:

$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280

Les résultats pour les configurations multi-moniteurs varient en fonction de l'affichage principal et de la manière dont ils sont organisés. Lire la suite ici

rymo
la source
1
Cela fonctionne, la réponse fournie par Gerry est incorrecte.
Fuzzy
Génial! C'est tellement plus rapide que system_profiler!
Dan
Ils donnent cependant des chiffres différents en cas de rétine.
Nakilon
3

J'utilise cet utilitaire screenresolutionpour obtenir la résolution de l'écran:

$ /usr/local/bin/screenresolution get 2>&1 | grep -oE 'Display 0: [0-9]+' | grep -Eo '[0-9]+$'  
1920
Mark Stewart
la source
0

J'ai écrit displayplacer , ce qui peut aider à cela. Execute displayplacer listet il affichera la résolution actuelle (et plus d’informations) pour tous les écrans.

$ displayplacer list
Persistent screen id: A46D2F5E-487B-CC69-C588-ECFD519016E5
Contextual screen id: 1124216237
Type: 40 inch external screen
Resolution: 3840x2160
Hertz: 60
Color Depth: 4
Scaling:off
Origin: (0,0) - main display
Rotation: 0
Resolutions for rotation 0:
  mode 0: res:3840x2160 hz:60 color_depth:4 <-- current mode
  mode 1: res:3840x2160 hz:60 color_depth:8
  mode 2: res:3840x2160 hz:30 color_depth:4
...
Persistent screen id: 2960D639-F605-5BB4-A53D-A3263008894C
Contextual screen id: 69733451
Type: MacBook built in screen
Resolution: 1680x1050
Hertz: N/A
Color Depth: 4
Scaling:on
Origin: (-1680,1291)
Rotation: 0 - rotate internal screen example (may crash computer, but will be rotated after rebooting): `displayplacer "id:2960D639-F605-5BB4-A53D-A3263008894C degree:90"`
Resolutions for rotation 0:
  mode 0: res:1440x900 color_depth:4 scaling:on
  mode 1: res:1440x900 color_depth:8 scaling:on
  mode 2: res:720x450 color_depth:4 scaling:on

grep est une approche simple pour analyser la sortie.

$ displayplacer list | grep -e Resolution: -e Scaling:
Resolution: 3840x2160
Scaling:off
Resolution: 1680x1050
Scaling:on

Egalement disponible via Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
la source
1
(1) Je suppose que vous êtes l'auteur de ce programme (le nom étant le même). Vous devez le dire clairement et explicitement dès que vous mentionnez le programme. (2) Ce serait une meilleure réponse si vous montriez réellement comment analyser le résultat de votre programme pour obtenir ce que la question demande, plutôt que de vanter votre programme. ……………………………………… S'il vous plaît ne répondez pas dans les commentaires; éditez  votre réponse pour la rendre plus claire et plus complète.
Scott