web-dev-qa-db-fra.com

Comment puis-je obtenir la taille du moniteur de mon ordinateur portable?

Quelle est la commande linux Ubuntu pour trouver la taille du moniteur d'ordinateur portable? Je veux savoir en pouces si possible.

Merci

40
user111

Une autre option, en utilisant xrandr, est la commande:

xrandr | grep ' connected'

Sortie:

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

(attention à l'espace précédant connected, sinon disconnected sera inclus)

Différences importantes entre xdpyinfo et xrandr

  • Alors que xrandr liste les écrans séparément (en cas de plusieurs moniteurs), xdpyinfo génère un seul jeu de dimensions pour tous les écrans ("taille du bureau" au lieu de la taille de l'écran)
  • Comme l'a remarqué @agold, il y a (assez) une différence entre les deux, qui semble trop grande pour être une simple différence d'arrondi:

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

Il semble lié à n bogue dans xdpyinfo. Voir aussi ici .

Si vous insistez pour pouces

Utilisez le petit script ci-dessous; il affiche la taille de votre écran en pouces; largeur/hauteur/diagonale (pouces)

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

Pour l'utiliser:

Copiez le script dans un fichier vide, enregistrez-le sous get_dimensions.py, exécutez-le à l'aide de la commande suivante:

python3 /path/to/get_dimensions.py

Sortie sur mes deux écrans:

width - height - diagonal (inches)

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



Modifier

Fantaisie version du même script (avec quelques améliorations et une sortie plus agréable), ressemblant à ceci:

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

Le scénario:

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

"Kind of" sur demande (dans un commentaire), une version modernisée/plus avancée/améliorée (pas d'appels système, pas d'analyse mais utilisant Gdk.Display), faisant à peu près exactement la même chose:

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

Sortie:

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

Je vais laisser la réponse initiale, car il semble inapproprié de supprimer la réponse après une aussi longue période, qui a généré les votes existants.

46
Jacob Vlijm

Juste au cas où vous voudriez une réponse plus générale, vous pouvez couper le le nœud gordien , et utiliser un physique non geek règle pour cela. Selon ce wiki , "la taille d'un écran est généralement décrite par la longueur de son diagonale ":

enter image description here

Si vous avez une règle qui n'affiche que centimètres , vous pouvez utiliser le simple conversion :

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

Donc, si votre règle mesure 30 centimètres , votre écran est en 11.811 pouces. Vous pouvez également utiliser google avec une requête de la forme 30 cm to in.


Crédits image: https://en.wikipedia.org/wiki/File:Display_size_measurements.png

14
phresnel

Xdpyinfo est un utilitaire permettant d’afficher des informations sur un serveur X. Il est utilisé pour examiner les capacités d'un serveur, les valeurs prédéfinies pour différents paramètres utilisés dans la communication entre les clients et le serveur, ainsi que les différents types d'écrans et de visuels disponibles.

La commande pour obtenir la taille du moniteur est la suivante:

xdpyinfo | grep dimensions

Résultat

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