it-swarm.com.de

Wie kann ich die Bildschirmgröße meines Laptops ermitteln?

Was ist der Ubuntu Linux-Befehl, um die Größe des Laptop-Monitors zu ermitteln? Ich möchte wissen, in Zoll, wenn möglich.

Vielen Dank

40
user111

Eine andere Option, die xrandr verwendet, 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

(Beachten Sie das Leerzeichen vor connected, ansonsten disconnected)

Wichtige Unterschiede zwischen xdpyinfo und xrandr

  • Während xrandr Bildschirme separat auflistet (bei mehreren Monitoren), gibt xdpyinfo einen einzigen Satz von Dimensionen für alle Bildschirme zusammen aus ("Desktopgröße" anstelle der 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 verwandt zu sein mit ein 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 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]])

Um es zu benutzen:

Kopieren Sie das Skript in eine leere Datei, speichern Sie es als get_dimensions.py und führen Sie es mit dem folgenden Befehl aus:

python3 /path/to/get_dimensions.py

Ausgabe auf meinen beiden Bildschirmen:

width - height - diagonal (inches)

[18.6, 11.7, 22.0]
[14.8, 11.9, 19.0]



Bearbeiten

Ausgefallene Version desselben Skripts (mit ein paar Verbesserungen und einer schöneren Ausgabe), die so aussieht:

Screen  width   height  diagonal
--------------------------------
DVI-I-1 18.6    11.7    22.0
VGA-1   14.8    11.9    19.0

Das Drehbuch:

#!/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]]))

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 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]]))

Ausgabe:

Screen  width   height  diagonal
--------------------------------
eDP-1   20.0    11.3    23.0
HDMI-1  18.6    11.7    22.0

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.

46
Jacob Vlijm

Nur für den Fall, dass Sie eine allgemeinere Antwort wünschen, können Sie den den gordischen Knoten abschneiden und dafür ein nicht geekisches physisches Lineal verwenden. Gemäß dieses Wiki wird die "Größe eines Bildschirms normalerweise durch die Länge seines Diagonale " beschrieben:

enter image description here

Wenn Sie ein Lineal haben, das nur Zentimeter anzeigt, können Sie das einfache mrechnung verwenden:

1 cm = 0.393701 in
(or 2.54 cm = 1 in)

Wenn Ihr Lineal also Zentimeter misst, ist Ihr Bildschirm 11.811 Zoll. Sie können auch google mit einer Abfrage der Form 30 cm to in verwenden.


Bildnachweis: https://en.wikipedia.org/wiki/File:Display_size_measurements.png

14
phresnel

Xdpyinfo ist ein Dienstprogramm zum Anzeigen von Informationen über einen 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:

xdpyinfo | grep dimensions

Ergebnis

dimensions:    1366x768 pixels (361x203 millimeters)
6
Parto