วิธีการได้รับความละเอียดหน้าจอปัจจุบันจาก Command Line ใน Mac OS X

โดยทั่วไปผู้ใช้ Mac จะเรียกดูความละเอียดหน้าจอของจอแสดงผลที่เชื่อมต่อผ่านแผงแสดงผลการแสดงผลใน OS X. ไม่มีอะไรผิดปกติกับวิธีการนี้เป็นเรื่องง่ายและรวดเร็ว แต่เนื่องจากใช้ส่วนติดต่อแบบกราฟิกของ OS X จึงไม่จำเป็นต้องเป็นประโยชน์สำหรับการเขียนสคริปต์ วัตถุประสงค์หรือการจัดการระยะไกลผ่านทาง Remote Login และ SSH connections ในสถานการณ์เหล่านี้และอื่น ๆ อีกมากมายคุณอาจต้องการเรียกใช้ความละเอียดหน้าจอปัจจุบันของการแสดงผลจากบรรทัดคำสั่งใน Mac OS X


คุณสามารถเรียกใช้ความละเอียดหน้าจอได้อย่างแม่นยำด้วยคำสั่ง system_profiler ซึ่งจะดึงข้อมูลระบบโดยละเอียดเป็นโปรแกรมอรรถประโยชน์ของ Apple System Profiler ซึ่งมีมาพร้อมกับ OS X เป็นระยะเวลานานไวยากรณ์ที่ใช้ง่ายและคุณอาจจะใช้ ต้องการล้างข้อมูลผลลัพธ์ด้วย grep เพื่อแสดงความละเอียด

คำสั่ง system_profiler สำหรับการแสดงความละเอียดของจอแสดงผลที่เชื่อมต่อมีดังต่อไปนี้ตามปกติโดยใช้ไวยากรณ์บรรทัดคำสั่งโปรดตรวจสอบให้แน่ใจว่าคำสั่งอยู่ในบรรทัดเดียว:

system_profiler SPDisplaysDataType |grep Resolution

การใช้ sudo ไม่จำเป็น แต่คุณสามารถนำคำสั่งไปใช้กับคำสั่งนั้นได้หากต้องการด้วยเหตุผลบางประการหรืออย่างอื่น

เอาต์พุตจะอ่านได้ง่ายและควรมีลักษณะดังนี้:

$ system_profiler SPDisplaysDataType |grep Resolution
Resolution: 1920 x 1080

หากคุณใช้จอแสดงผลหลายจอกับเครื่อง Mac ความละเอียดสำหรับแต่ละหน้าจอที่เชื่อมต่อจะได้รับการรายงานกลับ หากจอแสดงผลภายนอกภายนอกติดตั้งอยู่ที่โทรทัศน์ความละเอียดของหน้าจอทีวีจะรายงานเป็น 720p หรือ 1080p ด้วย

คำสั่งนี้ควรใช้งานได้กับ Mac OS X ทุกเวอร์ชัน แต่โปรดสังเกตว่า Yosemite เวอร์ชั่นปัจจุบันจะเอาท์พุทที่ไม่จำเป็นซึ่งอาจจะทำความสะอาดด้วย awk ถ้าคุณจะใช้สคริปต์นี้ในการเขียนสคริปต์ ยังคงอ่านได้ แต่ก็ยังยุ่งเหยิง

โปรดทราบว่าคุณสามารถข้ามส่วน grep ของคำสั่งถ้าคุณต้องการทำเช่นนั้นรายงานจะแสดงรายละเอียดการแสดงผลแบบขยายซึ่งจะเป็นประโยชน์

โปรดจำไว้ว่าเอาต์พุตแสดงความละเอียดที่ใช้งานไม่ใช่ความละเอียดสูงสุดที่เป็นไปได้บนจอแสดงผล ดังนั้นจอแสดงผล Retina จะแสดงสิ่งที่กำลังใช้งานอยู่ในแง่ของหน้าจอจริงไม่ใช่ความละเอียดสูงสุดที่เป็นไปได้ของการแสดงผล