system_profiler SPDisplaysDataType
จะให้ความละเอียดทางกายภาพของจอแสดงผล Retina แต่จะไม่ให้ความละเอียดที่มีประสิทธิภาพ หากคุณต้องการคุณสามารถจัดเรียงได้ด้วยosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
โปรดทราบว่าหากคุณใช้การตั้งค่าหลายจอภาพอาจต้องมีการตีความบางอย่าง ตัวอย่างเช่นฉันมี Retina iMac 21 "ที่มีความละเอียดทางกายภาพ 4096x2304 และความละเอียดที่ปรับขนาด 2560x1440 ฉันยังมีจอภาพแนวตั้งภายนอกที่ทำงานที่ 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
เมื่อฉันเรียกใช้คำสั่งด้านบนมันรายงาน:
-1440, 0, 2560, 2560
นี่คือขอบเขตของเดสก์ท็อปที่สัมพันธ์กับมุมซ้ายบนของจอภาพหลัก :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
อย่างที่คุณเห็นสิ่งนี้เองไม่ได้ให้ความละเอียดในแนวตั้งขนาดใหญ่ของจอภาพหลัก (แม้ว่าคุณจะสามารถหาได้จากอัตราส่วนทางกายภาพ)
ตัวเลือกอื่นคือ GPL'ed ยูทิลิตี้การแก้ไขปัญหาหน้าจอ (ซึ่งสามารถใช้ได้ผ่านHomebrewหากคุณไม่ต้องการที่จะสร้างมันเอง) บรรทัดคำสั่งไม่เหมือนสิ่งอื่นใดในโลกนี้ แต่ใช้งานได้:
$ screenresolution get
2018-04-20 10:00:14.935 screenresolution[12084:518367] starting screenresolution argv=screenresolution get
2018-04-20 10:00:14.938 screenresolution[12084:518367] Display 0: 2560x1440x32@0
2018-04-20 10:00:14.939 screenresolution[12084:518367] Display 1: 1440x2560x32@60
มันยังให้ความลึกของสีเป็นบิตและถ้ามีอัตราการรีเฟรชเป็น Hz