Como posso obter a resolução de tela atual na linha de comando no OS X?


Respostas:


76
system_profiler SPDisplaysDataType | grep Resolution

6
Em um Macbook pro (10.8.3), isso retorna apenas a resolução máxima do LCD, não a resolução atual / selecionada.
precisa

11
No meu Air, executando o 10.8.4 com um monitor externo, isso mostra a resolução do Air e a do monitor externo, em linhas separadas.
91113 Jim Stewart

@studgeek Não tenho certeza se isso ainda é um problema, mas no meu Air ele exibe a resolução atual. É muito estranho que o Pro altere esse comportamento.
Gerry

11
Ele exibe a resolução atual em um modelo do MacBook Pro 2011, executando o Mavericks.
Davisales

11
Ele mostra a resolução atual em um MBP com OSX 10.9.4
aymericbeaumet

12

Para uma rápida leitura da resolução virtual atual de uma única tela retina:

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

Os resultados das configurações de vários monitores variam de acordo com a exibição principal e como eles são organizados. Leia mais aqui


11
Isso funciona, a resposta fornecida por Gerry está incorreta.
fuzzy

Ótimo! Isso é muito mais rápido que system_profiler!
Dan

Eles dão números diferentes no caso de Retina.
Nakilon 29/04

3

Eu uso o utilitário screenresolutionpara obter a resolução da tela:

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

0

Eu escrevi displayplacer , o que pode ajudar com isso. Execute displayplacer liste mostrará a resolução atual (e mais informações) para todas as telas.

$ 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 é uma abordagem simples para analisar a saída.

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

Também disponível via Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer


11
(1) Presumo que você seja o autor deste programa (o nome sendo o mesmo). Você deve dizê-lo de forma clara e explícita, assim que mencionar o programa. (2) Essa seria uma resposta melhor se você realmente mostrasse como analisar a saída do seu programa para obter o que a pergunta pede, em vez de apenas divulgá-lo. ……………………………………… Por favor, não responda nos comentários; edite  sua resposta para torná-la mais clara e completa.
Scott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.