जवाबों:
एक अन्य विकल्प, का उपयोग करना xrandr
, कमांड है:
xrandr | grep ' connected'
आउटपुट:
DVI-I-1 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
VGA-1 connected 1280x1024+1680+0 (normal left inverted right x axis y axis) 376mm x 301mm
(पहले अंतरिक्ष का ध्यान रखें connected
, फिर disconnected
शामिल किया जाएगा)
xdpyinfo
और के बीच महत्वपूर्ण अंतरxrandr
xrandr
स्क्रीन को अलग-अलग सूचीबद्ध करता है (कई मॉनिटर के मामले में), xdpyinfo
सभी स्क्रीन के लिए आयामों के एक एकल सेट को एक साथ आउटपुट करता है (स्क्रीन आकार के बजाय "डेस्कटॉप आकार")जैसा कि @agold द्वारा देखा गया है (दोनों के बीच एक अंतर है), जो कि एक साधारण गोल अंतर होने के लिए बहुत बड़ा लगता है:
xrandr: 473mm x 296mm
xdpyinfo: 445x278
यह एक बग से संबंधित लगता है xdpyinfo
। यह भी देखें यहाँ ।
नीचे छोटी स्क्रिप्ट का उपयोग करें; यह इंच में आपकी स्क्रीन (एस) के आकार को आउटपुट करता है; चौड़ाई / ऊंचाई / विकर्ण (इंच)
#!/usr/bin/env python3
import subprocess
# change the round factor if you like
r = 1
screens = [l.split()[-3:] for l in subprocess.check_output(
["xrandr"]).decode("utf-8").strip().splitlines() if " connected" in l]
for s in screens:
w = float(s[0].replace("mm", "")); h = float(s[2].replace("mm", "")); d = ((w**2)+(h**2))**(0.5)
print([round(n/25.4, r) for n in [w, h, d]])
स्क्रिप्ट को एक खाली फ़ाइल में कॉपी करें, इसे सहेजें get_dimensions.py
, इसे कमांड द्वारा चलाएं:
python3 /path/to/get_dimensions.py
मेरी दो स्क्रीन पर आउटपुट:
width - height - diagonal (inches)
[18.6, 11.7, 22.0]
[14.8, 11.9, 19.0]
एक ही स्क्रिप्ट का फैंसी संस्करण (कुछ सुधार और एक अच्छे आउटपुट के साथ), जैसा दिख रहा है:
Screen width height diagonal
--------------------------------
DVI-I-1 18.6 11.7 22.0
VGA-1 14.8 11.9 19.0
#!/usr/bin/env python3
import subprocess
# change the round factor if you like
r = 1
screens = [l.split() for l in subprocess.check_output(
["xrandr"]).decode("utf-8").strip().splitlines() if " connected" in l]
scr_data = []
for s in screens:
try:
scr_data.append((
s[0],
float(s[-3].replace("mm", "")),
float(s[-1].replace("mm", ""))
))
except ValueError:
pass
print(("\t").join(["Screen", "width", "height", "diagonal\n"+32*"-"]))
for s in scr_data:
scr = s[0]; w = s[1]/25.4; h = s[2]/25.4; d = ((w**2)+(h**2))**(0.5)
print(("\t").join([scr]+[str(round(n, 1)) for n in [w, h, d]]))
अनुरोध पर (एक टिप्पणी में), एक आधुनिक / अधिक उन्नत / बेहतर (कोई सिस्टम कॉल, कोई पार्सिंग नहीं, लेकिन Gdk.Display का उपयोग करते हुए) संस्करण, बहुत अधिक समान रूप से कर रहा है:
#!/usr/bin/env python3
import gi
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
dsp = Gdk.Display.get_default()
n_mons = dsp.get_n_monitors()
print(("\t").join(["Screen", "width", "height", "diagonal\n"+32*"-"]))
for i in range(n_mons):
mon = dsp.get_monitor(i)
mon_name = mon.get_model()
w = mon.get_width_mm()/25.4
h = mon.get_height_mm()/25.4
d = ((w**2)+(h**2))**(0.5)
print(("\t").join([mon_name]+[str(round(n, 1)) for n in [w, h, d]]))
आउटपुट:
Screen width height diagonal
--------------------------------
eDP-1 20.0 11.3 23.0
HDMI-1 18.6 11.7 22.0
मैं मूल उत्तर छोड़ दूंगा, क्योंकि इतने लंबे समय के बाद उत्तर को हटाने के लिए अनुचित लगता है, जिससे मौजूदा वोट उत्पन्न हुए।
xdpyinfo
मुझे "474x303 मिलीमीटर", और xrandr
"473 मिमी x 296 मिमी" देता है।
xdpyinfo
आउटपुट करता है , स्क्रीन के आकार को नहीं!
xdpyinfo
: Bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491 हालांकि रिपोर्ट काफी पुरानी है, मुझे यह तय नहीं दिखता। यह भी देखें: bbs.archlinux.org/viewtopic.php?id=204823
बस अगर आप अधिक सामान्य उत्तर चाहते हैं, तो आप गॉर्डियन गाँठ को काट सकते हैं , और उसके लिए गैर-गीकी भौतिक शासक का उपयोग कर सकते हैं । इस विकी के अनुसार , "स्क्रीन का आकार आमतौर पर इसके विकर्ण की लंबाई से वर्णित होता है "
यदि आपके पास एक शासक है जो केवल सेंटीमीटर प्रदर्शित करता है , तो आप साधारण रूपांतरण का उपयोग कर सकते हैं :
1 cm = 0.393701 in
(or 2.54 cm = 1 in)
इसलिए यदि आपका शासक 30 सेंटीमीटर मापता है , तो आपकी स्क्रीन 11.811 इंच है। आप प्रपत्र की क्वेरी के साथ भी Google का उपयोग कर सकते हैं 30 cm to in
।
छवि साभार: https://en.wikipedia.org/wiki/File:Display_size_measurements.png
Xdpyinfo
एक एक्स सर्वर के बारे में जानकारी प्रदर्शित करने के लिए एक उपयोगिता है। यह एक सर्वर की क्षमताओं की जांच करने के लिए उपयोग किया जाता है, क्लाइंट और सर्वर के बीच संचार करने में उपयोग किए जाने वाले विभिन्न मापदंडों के लिए पूर्वनिर्धारित मान, और विभिन्न प्रकार की स्क्रीन और दृश्य जो उपलब्ध हैं।
मॉनिटर आकार प्राप्त करने के लिए कमांड है:
xdpyinfo | grep dimensions
नतीजा
dimensions: 1366x768 pixels (361x203 millimeters)
xdpyinfo
की रिपोर्ट और xrandr
।
xrandr
: 473mm, जबकि xdpyinfo
रिपोर्ट रास्ता बहुत छोटा ( 445mm
)। यह प्रश्न और अधिक दिलचस्प हो जाता है, तब ओपी ने मुझे अनुमान लगाया :)
यह कुछ ऐसा था जिससे मैं भी जूझ रहा था (जब मैं अपने लिए एक नए मॉनीटर में अपग्रेड करना चाहता था और जानना चाहता था कि मेरा पुराना मॉनीटर कौन सा है), इसलिए मैंने एक शेल स्क्रिप्ट लिखी जो आपके लिए मॉनीटर साइज का पता लगाती है।
मैंने xdpyinfo
स्क्रीन के आयाम प्राप्त करने और उस पर आगे बढ़ने के लिए पहले उत्तर से उपयोग किया । स्क्रिप्ट अनिवार्य रूप से स्क्रीन आयामों से विकर्ण की गणना करती है, मिलीमीटर से इंच तक परिवर्तित होती है और परिणाम प्रदर्शित करती है।
रिपोजिटरी URL: https://github.com/abhishekvp/WhatsMyScreenSize
उम्मीद है की यह मदद करेगा!