¿Cómo puedo obtener la resolución de pantalla actual desde la línea de comandos en OS X?

Respuestas:

76
system_profiler SPDisplaysDataType | grep Resolution
Gerry
fuente
66
En un Macbook pro (10.8.3), esto solo devuelve la resolución máxima de la pantalla LCD, no la resolución de pantalla actual / seleccionada.
studgeek
1
En mi Air que ejecuta 10.8.4 con una pantalla externa, esto muestra tanto la resolución del Air como la resolución de la pantalla externa, en líneas separadas.
Jim Stewart
@studgeek No estoy seguro de si esto sigue siendo un problema, pero en mi Air muestra la resolución actual. Es muy extraño que el Pro altere este comportamiento.
Gerry
1
Muestra la resolución actual en un modelo MacBook Pro 2011, ejecutando Mavericks.
daviewales
1
Muestra la resolución actual en un MBP con OSX 10.9.4
aymericbeaumet
12

Para una lectura rápida de la resolución virtual actual de una única pantalla de retina:

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

Los resultados para las configuraciones de monitores múltiples varían según la pantalla que sea primaria y la forma en que se organizan. Lee más aquí

rymo
fuente
1
Esto funciona, la respuesta proporcionada por Gerry es incorrecta.
Fuzzy
¡Excelente! ¡Esto es mucho más rápido que system_profiler!
Dan
Sin embargo, dan números diferentes en el caso de la retina.
Nakilon
3

Yo uso la utilidad screenresolutionpara obtener la resolución de pantalla:

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

Escribí displayplacer , que puede ayudar con esto. Ejecute displayplacer listy mostrará la resolución actual (y más información) para todas las pantallas.

$ 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 es un enfoque simple para analizar la salida.

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

También disponible a través de Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
fuente
1
(1) Supongo que usted es el autor de este programa (el nombre es el mismo). Debería decirlo, clara y explícitamente, tan pronto como mencione el programa. (2) Esta sería una mejor respuesta si realmente mostrara cómo analizar la salida de su programa para obtener lo que la pregunta pide, en lugar de simplemente promocionar su programa. ... ... ... ... ... ... ... ... ... ... ... ... ... ... por favor no responda en los comentarios; edite  su respuesta para que sea más clara y completa.
Scott