Bagaimana saya bisa mendapatkan resolusi layar saat ini dari baris perintah pada OS X?

Jawaban:

76
system_profiler SPDisplaysDataType | grep Resolution
Gerry
sumber
6
Pada Macbook pro (10.8.3) ini hanya mengembalikan resolusi maks LCD, bukan resolusi tampilan saat ini / yang dipilih.
studgeek
1
Pada Air saya yang menjalankan 10.8.4 dengan tampilan eksternal, ini menunjukkan resolusi Air dan resolusi layar eksternal, pada saluran yang terpisah.
Jim Stewart
@studgeek Saya tidak yakin apakah ini masih menjadi masalah, tetapi di Air saya ini menampilkan resolusi saat ini. Sangat aneh Pro akan mengubah perilaku ini.
Gerry
1
Ini menampilkan resolusi saat ini pada model MacBook Pro 2011, menjalankan Mavericks.
daviewales
1
Ini menunjukkan resolusi saat ini pada MBP dengan OSX 10.9.4
aymericbeaumet
12

Untuk bacaan cepat tentang resolusi virtual saat ini dari satu layar retina:

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

Hasil untuk pengaturan multi-monitor bervariasi berdasarkan pada tampilan mana yang utama dan bagaimana pengaturannya. Baca lebih lanjut di sini

rymo
sumber
1
Ini berhasil, jawaban yang diberikan oleh Gerry salah.
Fuzzy
Bagus! Ini jauh lebih cepat daripada system_profiler!
Dan
Mereka memberikan angka yang berbeda dalam kasus Retina.
Nakilon
3

Saya menggunakan utilitas screenresolutionuntuk mendapatkan resolusi layar:

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

Saya menulis displayplacer , yang dapat membantu dengan ini. Jalankan displayplacer listdan itu akan menampilkan resolusi saat ini (dan lebih banyak info) untuk semua layar.

$ 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 adalah pendekatan sederhana untuk mem-parsing output.

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

Juga tersedia melalui Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
sumber
1
(1) Saya berasumsi bahwa Anda adalah pembuat program ini (namanya sama). Anda harus mengatakannya dengan jelas dan eksplisit, begitu Anda menyebutkan programnya. (2) Ini akan menjadi jawaban yang lebih baik jika Anda benar-benar menunjukkan cara mem-parsing output program Anda untuk mendapatkan apa yang ditanyakan, daripada hanya menggembar-gemborkan program Anda. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Mohon jangan merespons dalam komentar; edit  jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.
Scott