Eine andere Option, die verwendet wird xrandr, ist der Befehl:
xrandr | grep ' connected'
Ausgabe:
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
(Beachte das Leerzeichen davor connected, sonst disconnectedwird es eingeschlossen)
Wichtige Unterschiede zwischen xdpyinfoundxrandr
Während xrandrListen Bildschirm getrennt (im Fall von mehreren Monitoren), xdpyinfogibt einen einzigen Satz von Dimensionen für alle Bildschirme zusammen ( „Desktop Größe“ anstelle von Bildschirmgröße)
Wie @agold feststellt, gibt es einen (ziemlichen) Unterschied zwischen den beiden, der zu groß scheint, um eine einfache Rundungsdifferenz zu sein:
xrandr: 473mm x 296mm
xdpyinfo: 445x278
Es scheint im Zusammenhang mit einem Fehler in xdpyinfo. Siehe auch hier .
Wenn Sie auf Zoll bestehen würden
Verwenden Sie das kleine Skript unten; Es gibt die Größe Ihres Bildschirms (Ihrer Bildschirme) in Zoll aus. Breite / Höhe / Diagonale (Zoll)
#!/usr/bin/env python3import 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]])
Um es zu benutzen:
Kopieren Sie das Skript in eine leere Datei, speichern Sie es unter get_dimensions.pyund führen Sie es mit dem folgenden Befehl aus:
#!/usr/bin/env python3import 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",""))))exceptValueError:passprint(("\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]]))
EDIT 2 (Mai 2019)
"Art of" auf Anfrage (in einem Kommentar), eine modernisierte / fortgeschrittenere / verbesserte Version (keine Systemaufrufe, kein Parsen, aber Verwendung von Gdk.Display), die so ziemlich dasselbe macht:
#!/usr/bin/env python3import gi
gi.require_version('Gdk','3.0')from gi.repository importGdk
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]]))
Ich werde die ursprüngliche Antwort belassen, da es unangemessen erscheint, die Antwort nach so langer Zeit zu entfernen, die die vorhandenen Stimmen erzeugt hat.
Nur eine Randnotiz, aber beide Antworten geben mir unterschiedliche Ergebnisse: xdpyinfogibt mir xrandr"474 x 303 Millimeter" und "473 mm x 296 mm".
Agold
1
@agold Nun das ist interessant. Ein rundungsunterschied. Eine andere interessante Sache ist, dass xdpyinfodie Desktop- Größe (beide Bildschirme) ausgegeben wird, nicht die Größe des Bildschirms!
Jacob Vlijm
@agold der Unterschied ist viel zu groß für eine Rundungsdifferenz !! Siehe meine Bearbeitung.
Jacob Vlijm
Ja, es ist ziemlich groß, aber wie erhalten diese Programme diese Informationen? Handelt es sich um Metainformationen, die vom Monitor stammen, oder handelt es sich um Schätzungen, die auf anderen Parametern basieren ...?
Nur für den Fall, dass Sie eine allgemeinere Antwort wünschen, können Sie den gordischen Knoten durchtrennen und dafür ein nicht geekisches physisches Lineal verwenden . In diesem Wiki wird die "Größe eines Bildschirms normalerweise durch die Länge seiner Diagonale beschrieben ":
Wenn Ihr Lineal also 30 Zentimeter misst , ist Ihr Bildschirm 11,811 Zoll groß . Sie können Google auch mit einer Abfrage des Formulars verwenden 30 cm to in.
Ask Ubuntu ist eine Website für Softwarelösungen, daher ist Ihre Antwort hier ein wenig falsch ... Auf der anderen Seite ist sie korrekt, gut geschrieben, sehr lesbar und lustig! :-) So aufgestimmt!
Fabby
1
@ dn-ʞɔɐqɹW: Eigentlich basiert es auf einem Fehler auf meiner Seite. Ich las die Frage "Wie kann ich die Bildschirmgröße meines Laptops ermitteln?" Und mein erster Gedanke war "gut, mit einem Lineal". Bevor ich die vollständige Frage las, ließ ich meine Antwort aus dem Steinblock herausschneiden.
Phresnel
Als Randnotiz entspricht ein Zoll genau 25,4 mm.
Paddy Landau
6
Xdpyinfoist ein Dienstprogramm zum Anzeigen von Informationen zu einem X-Server. Es wird verwendet, um die Funktionen eines Servers, die vordefinierten Werte für verschiedene Parameter für die Kommunikation zwischen Clients und Server sowie die verschiedenen verfügbaren Arten von Bildschirmen und Grafiken zu untersuchen.
Hallo Parto, mir gefällt deine Antwort +1 sehr gut, schau mal hier: bbs.archlinux.org/viewtopic.php?id=204823 Es gibt einen großen Unterschied in den Dimensionsberichten xdpyinfound xrandr.
Beim Messen mit einem guten alten Maßband in physikalischer Qualität erhalte ich auf meinem Bildschirm ziemlich genau die Ausgabe von xrandr: 473 mm, während die xdpyinfoMeldungen viel zu kurz sind ( 445mm). Diese Frage erweist sich als interessanter als angenommen, dass OP :)
Jacob Vlijm
0
Dies war etwas, mit dem auch ich zu kämpfen hatte (als ich auf einen neuen Monitor upgraden wollte und wissen wollte, wie groß mein alter Monitor war), also schrieb ich ein Shell-Skript, das die Monitorgröße für Sie findet.
Ich habe das xdpyinfovon der ersten Antwort an verwendet, um die Bildschirmabmessungen zu ermitteln und darauf aufzubauen. Das Skript berechnet im Wesentlichen die Diagonale aus den Bildschirmabmessungen, konvertiert von Millimetern in Zoll und zeigt das Ergebnis an.
Antworten:
Eine andere Option, die verwendet wird
xrandr
, ist der Befehl:Ausgabe:
(Beachte das Leerzeichen davor
connected
, sonstdisconnected
wird es eingeschlossen)Wichtige Unterschiede zwischen
xdpyinfo
undxrandr
xrandr
Listen Bildschirm getrennt (im Fall von mehreren Monitoren),xdpyinfo
gibt einen einzigen Satz von Dimensionen für alle Bildschirme zusammen ( „Desktop Größe“ anstelle von Bildschirmgröße)Wie @agold feststellt, gibt es einen (ziemlichen) Unterschied zwischen den beiden, der zu groß scheint, um eine einfache Rundungsdifferenz zu sein:
Es scheint im Zusammenhang mit einem Fehler in
xdpyinfo
. Siehe auch hier .Wenn Sie auf Zoll bestehen würden
Verwenden Sie das kleine Skript unten; Es gibt die Größe Ihres Bildschirms (Ihrer Bildschirme) in Zoll aus. Breite / Höhe / Diagonale (Zoll)
Um es zu benutzen:
Kopieren Sie das Skript in eine leere Datei, speichern Sie es unter
get_dimensions.py
und führen Sie es mit dem folgenden Befehl aus:Ausgabe auf meinen beiden Bildschirmen:
Bearbeiten
Ausgefallene Version desselben Skripts (mit ein paar Verbesserungen und einer schöneren Ausgabe), die so aussieht:
Das Drehbuch:
EDIT 2 (Mai 2019)
"Art of" auf Anfrage (in einem Kommentar), eine modernisierte / fortgeschrittenere / verbesserte Version (keine Systemaufrufe, kein Parsen, aber Verwendung von Gdk.Display), die so ziemlich dasselbe macht:
Ausgabe:
Ich werde die ursprüngliche Antwort belassen, da es unangemessen erscheint, die Antwort nach so langer Zeit zu entfernen, die die vorhandenen Stimmen erzeugt hat.
quelle
xdpyinfo
gibt mirxrandr
"474 x 303 Millimeter" und "473 mm x 296 mm".xdpyinfo
die Desktop- Größe (beide Bildschirme) ausgegeben wird, nicht die Größe des Bildschirms!xdpyinfo
: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491 zu tun zu haben. Obwohl der Bericht ziemlich alt ist, sehe ich ihn nicht als behoben an. Siehe auch: bbs.archlinux.org/viewtopic.php?id=204823Nur für den Fall, dass Sie eine allgemeinere Antwort wünschen, können Sie den gordischen Knoten durchtrennen und dafür ein nicht geekisches physisches Lineal verwenden . In diesem Wiki wird die "Größe eines Bildschirms normalerweise durch die Länge seiner Diagonale beschrieben ":
Wenn Sie ein Lineal haben, das nur Zentimeter anzeigt , können Sie die einfache Konvertierung verwenden :
Wenn Ihr Lineal also 30 Zentimeter misst , ist Ihr Bildschirm 11,811 Zoll groß . Sie können Google auch mit einer Abfrage des Formulars verwenden
30 cm to in
.Bildnachweis: https://en.wikipedia.org/wiki/File:Display_size_measurements.png
quelle
Xdpyinfo
ist ein Dienstprogramm zum Anzeigen von Informationen zu einem X-Server. Es wird verwendet, um die Funktionen eines Servers, die vordefinierten Werte für verschiedene Parameter für die Kommunikation zwischen Clients und Server sowie die verschiedenen verfügbaren Arten von Bildschirmen und Grafiken zu untersuchen.Der Befehl zum Abrufen der Monitorgröße lautet:
Ergebnis
quelle
xdpyinfo
undxrandr
.xrandr
: 473 mm, während diexdpyinfo
Meldungen viel zu kurz sind (445mm
). Diese Frage erweist sich als interessanter als angenommen, dass OP :)Dies war etwas, mit dem auch ich zu kämpfen hatte (als ich auf einen neuen Monitor upgraden wollte und wissen wollte, wie groß mein alter Monitor war), also schrieb ich ein Shell-Skript, das die Monitorgröße für Sie findet.
Ich habe das
xdpyinfo
von der ersten Antwort an verwendet, um die Bildschirmabmessungen zu ermitteln und darauf aufzubauen. Das Skript berechnet im Wesentlichen die Diagonale aus den Bildschirmabmessungen, konvertiert von Millimetern in Zoll und zeigt das Ergebnis an.Repository-URL: https://github.com/abhishekvp/WhatsMyScreenSize
Hoffe das hilft!
quelle