Làm cách nào để có được độ phân giải màn hình hiện tại từ dòng lệnh trên OS X?


Câu trả lời:


76
system_profiler SPDisplaysDataType | grep Resolution

6
Trên Macbook pro (10.8.3), điều này chỉ trả về độ phân giải tối đa của LCD, không phải độ phân giải hiển thị hiện tại / được chọn.
studgeek

1
Trên Air của tôi chạy 10.8.4 với màn hình ngoài, điều này hiển thị cả độ phân giải của Air và độ phân giải của màn hình ngoài, trên các dòng riêng biệt.
Jim Stewart

@studgeek Tôi không chắc đây có phải là sự cố không, nhưng trên Air của tôi, nó hiển thị độ phân giải hiện tại. Thật kỳ lạ khi Pro sẽ thay đổi hành vi này.
Gerry

1
Nó hiển thị độ phân giải hiện tại trên mẫu MacBook Pro 2011, chạy Mavericks.
daviewales

1
Nó cho thấy độ phân giải hiện tại trên MBP với OSX 10.9.4
aymericbeaumet

12

Để đọc nhanh về độ phân giải ảo hiện tại của màn hình võng mạc:

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

Kết quả cho các thiết lập đa màn hình khác nhau tùy theo màn hình chính là gì và cách chúng được sắp xếp. Đọc thêm tại đây


1
Điều này hoạt động, câu trả lời được cung cấp bởi Gerry là không chính xác.
Mờ

Tuyệt quá! Cái này nhanh hơn nhiều system_profiler!
Dan

Họ đưa ra số lượng khác nhau trong trường hợp Retina mặc dù.
Nakilon

3

Tôi sử dụng tiện ích screenresolutionđể có được độ phân giải màn hình:

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

0

Tôi đã viết displayplacer , có thể giúp với điều này. Thực thi displayplacer listvà nó sẽ hiển thị độ phân giải hiện tại (và thêm thông tin) cho tất cả các màn hình.

$ 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 là một cách tiếp cận đơn giản để phân tích đầu ra.

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

Cũng có sẵn thông qua Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer


1
(1) Tôi cho rằng bạn là tác giả của chương trình này (tên giống nhau). Bạn nên nói như vậy, rõ ràng và rõ ràng, ngay khi bạn đề cập đến chương trình. (2) Đây sẽ là một câu trả lời tốt hơn nếu bạn thực sự chỉ ra cách phân tích đầu ra của chương trình để có được những gì câu hỏi yêu cầu, thay vì chỉ chào hàng chương trình của bạn. Rất khó khăn khi bạn không trả lời bình luận; chỉnh sửa  câu trả lời của bạn để làm cho nó rõ ràng và đầy đủ hơn.
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.