Cách lấy độ phân giải màn hình hiện tại từ dòng lệnh trong Mac OS X
Thông thường, người dùng Mac sẽ truy xuất độ phân giải màn hình của các màn hình được kết nối thông qua bảng tùy chọn hệ thống Hiển thị trong OS X. Cách tiếp cận đó chắc chắn không có gì sai, nó dễ dàng và nhanh chóng, nhưng vì nó sử dụng giao diện đồ họa của OS X nên không cần thiết cho việc tạo tập lệnh mục đích hoặc quản lý từ xa thông qua Đăng nhập từ xa và kết nối SSH.Trong những trường hợp này và nhiều trường hợp khác, bạn có thể muốn truy xuất độ phân giải màn hình hiện tại của màn hình từ dòng lệnh trong Mac OS X.
Bạn có thể nhận được độ phân giải màn hình chính xác với sự trợ giúp của lệnh system_profiler, lệnh này lấy thông tin hệ thống chi tiết dưới dạng phiên bản dòng lệnh của tiện ích Trình cấu hình hệ thống của Apple, đi kèm với OS X. Cú pháp sử dụng đơn giản và có thể bạn sẽ muốn xóa đầu ra bằng grep để chỉ hiển thị độ phân giải.
Lệnh system_profiler để chỉ nhận độ phân giải của màn hình được kết nối như sau, như thường lệ với cú pháp dòng lệnh, hãy đảm bảo lệnh nằm trên một dòng:
system_profiler SPDisplaysDataType |grep Resolution
Việc sử dụng sudo là không cần thiết, nhưng bạn có thể thêm tiền tố vào lệnh nếu muốn vì lý do này hay lý do khác.
Đầu ra dễ đọc và sẽ giống như sau:
$ system_profiler SPDisplaysDataType |grep Độ phân giải Độ phân giải: 1920 x 1080
Nếu bạn đang sử dụng nhiều màn hình với máy Mac, thì độ phân giải cho từng màn hình được kết nối sẽ được báo cáo lại. Nếu màn hình bên ngoài đi kèm là tivi, thì độ phân giải của màn hình tivi cũng sẽ được báo là 720p hoặc 1080p.
Lệnh sẽ chỉ hoạt động trong mọi phiên bản Mac OS X, nhưng lưu ý rằng các phiên bản Yosemite hiện tại sẽ kết xuất một số đầu ra không cần thiết mà có lẽ bạn nên dọn sạch bằng awk nếu bạn định sử dụng lệnh này để viết kịch bản. Nó vẫn có thể đọc được, nhưng nó hơi lộn xộn.
Lưu ý rằng bạn có thể bỏ qua phần grep của lệnh nếu muốn, làm như vậy sẽ báo cáo lại các chi tiết hiển thị mở rộng cũng có thể hữu ích.
Hãy nhớ rằng đầu ra hiển thị độ phân giải hoạt động, không phải độ phân giải tối đa có thể có trên màn hình. Do đó, màn hình Retina sẽ hiển thị nội dung hiện đang được sử dụng theo diện tích màn hình, chứ không phải độ phân giải tối đa có thể có của màn hình.