62 votes

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

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

81voto

Stefan Magnuson Points 741
system_profiler SPDisplaysDataType | grep Resolution

17voto

Nogwater Points 261

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

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

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

4voto

Mark Stewart Points 708

J'utilise l'utilitaire screenresolution pour 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

2voto

Andrew Odri Points 111

Il s'agit d'une petite ligne que j'ai créée pour retourner la résolution de l'écran principal, qui ne nécessite aucune dépendance pour être installée sur macOS :

system_profiler -json SPDisplaysDataType 2>/dev/null | python -c "import sys,json;d=next(i for i in json.load(sys.stdin)['SPDisplaysDataType'][0]['spdisplays_ndrvs'] if 'spdisplays_main' in i);print d['_spdisplays_pixels']"

Si vous avez besoin de filtrer sur la base de critères différents, il suffit de remplacer l'élément 'spdisplays_main' in i avec une expression plus appropriée.

Je sais que quelqu'un sur Internet va s'offusquer du fait que cette fait en effet dépendent de Python... Python est fourni avec macOS depuis Jaguar. Ainsi, même si vous utilisez un Power Macintosh G3 qui n'a pas été mis à jour au cours des 15 dernières années, vous n'aurez pas besoin de télécharger Python.

1voto

Jake Hilborn Points 121

J'ai écrit Plaque d'affichage qui peut y contribuer. Exécuter displayplacer list et il montrera 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X