Wie kann ich die aktuelle Bildschirmauflösung unter OS X über die Befehlszeile abrufen?

Antworten:

76
system_profiler SPDisplaysDataType | grep Resolution
Gerry
quelle
6
Auf einem Macbook Pro (10.8.3) wird nur die maximale Auflösung des LCD-Bildschirms zurückgegeben, nicht die aktuelle / ausgewählte Bildschirmauflösung.
Studgeek
1
Auf meinem Air, auf dem 10.8.4 mit einem externen Display ausgeführt wird, werden sowohl die Auflösung des Air als auch die Auflösung des externen Displays in separaten Zeilen angezeigt.
Jim Stewart
@studgeek Ich bin mir nicht sicher, ob dies immer noch ein Problem ist, aber auf meiner Sendung wird die aktuelle Auflösung angezeigt. Es ist sehr seltsam, dass der Pro dieses Verhalten ändern würde.
Gerry
1
Es zeigt die aktuelle Auflösung auf einem MacBook Pro 2011-Modell mit Mavericks an.
Daviewales
1
Es zeigt die aktuelle Auflösung auf einem MBP mit OSX 10.9.4
aymericbeaumet
12

Zum schnellen Ablesen der aktuellen virtuellen Auflösung eines einzelnen Retina-Displays:

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

Die Ergebnisse für Multi-Monitor-Setups variieren je nach primärer Anzeige und Anordnung. Lesen Sie hier mehr

rymo
quelle
1
Dies funktioniert, die Antwort von Gerry ist falsch.
Fuzzy
Toll! Das ist so viel schneller als system_profiler!
Dan
Bei Retina geben sie jedoch unterschiedliche Zahlen an.
Nakilon
3

Ich benutze das Dienstprogramm screenresolution, um die Bildschirmauflösung zu erhalten:

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

Ich habe displayplacer geschrieben , was dabei helfen kann. Ausführen displayplacer listund es wird die aktuelle Auflösung (und weitere Informationen) für alle Bildschirme angezeigt.

$ 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 ist ein einfacher Ansatz, um die Ausgabe zu analysieren.

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

Auch über Homebrew erhältlich brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
quelle
1
(1) Ich gehe davon aus, dass Sie der Autor dieses Programms sind (der Name ist derselbe). Sie sollten dies klar und deutlich sagen, sobald Sie das Programm erwähnen. (2) Dies wäre eine bessere Antwort, wenn Sie tatsächlich zeigen würden, wie Sie die Ausgabe Ihres Programms analysieren, um das zu erhalten, was die Frage verlangt, anstatt nur Ihr Programm zu bewerben. …………………………………… Bitte antworten Sie nicht in Kommentaren; Bearbeiten Sie  Ihre Antwort, um sie klarer und vollständiger zu gestalten.
Scott