Afficher les informations du moniteur via la ligne de commande

26

Existe-t-il un moyen d'interroger les informations du moniteur à partir de la ligne de commande? Par exemple, obtenez un modèle de moniteur, similaire à ce qui se lspcipasse par exemple pour les informations sur la carte graphique, ou s'il est actuellement activé ou désactivé, des choses comme ça.

Si possible, quels types d'informations de base telles que celles ci-dessus peuvent être facilement collectées? Par exemple, est-il possible de déterminer si le moniteur est en position portrait ou paysage? Ou s'il a des haut-parleurs intégrés ou non?

La ligne de commande est la préférence, mais s'il y a une méthode GUI, j'aimerais aussi en entendre parler.

icyrock.com
la source
Quel GPU avez-vous?
thom
02: 00.0 Contrôleur compatible VGA: Advanced Micro Devices [AMD] nee ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com
peut - être vous avez plus de chance avec: sudo apt-get install xresprobeet courezsudo ddcprobe
thom

Réponses:

14
$ grep "NVIDIA(GPU-0)" /var/log/Xorg.0.log |head -17| cut -d\: -f2
 Display (Samsung SA300/SA350 (DFP-0)) does not support NVIDIA
     3D Vision stereo.
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "1920x1080" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "1920x1080".
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "1280x720" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "1280x720".
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "720x576" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "720x576".
thom
la source
la première ligne est la commande. Notez que ce n'est pas un moyen officiel d'obtenir des informations sur le fournisseur / modèle à partir du moniteur (mais malheureusement c'est souvent le seul moyen), cela dépend également du GPU-fournisseur.
thom
2
Merci - regarder en /var/log/Xorg.0.logfait aide - c'est dommage que ce soit la seule façon.
icyrock.com
J'ai trouvé un guide pratique: wiki.xbmc.org/...
thom
Merci pour le lien, cela semble intéressant - je vais le vérifier.
icyrock.com
/var/log/Xorg.0.log: No such file or directory
Boris
30

Oui, il existe un outil de collecte d'informations sur le matériel lu pour les moniteurs VESA PnP . Cet outil possède deux commandes: get-edidet parse-edid: des outils pour récupérer et interpréter les spécifications du moniteur à l'aide du protocole DDC VESA VBE . EDID ( Extended Display Identification Data ) est un format de métadonnées permettant aux dispositifs d'affichage de décrire leurs capacités à une source vidéo.

Première:

sudo apt-get install read-edid

Alors essaye:

sudo get-edid | parse-edid
thom
la source
1
Merci thom - pouvez-vous préciser comment puis-je obtenir le modèle de moniteur en utilisant get-edid/ parse-edid? Lorsque j'ai exécuté ce qui précède, il n'a imprimé rien (pas même dans la section "Moniteur") qui serait similaire à mon fabricant / modèle de moniteur. Si cela vous convient, pouvez-vous coller ce que vous obtenez sur votre machine et le modèle de moniteur que vous avez, juste pour comparaison?
icyrock.com
Identifiant "\ QX: 2d40" VendorName "\ QX" ModelName "\ QX: 2d40" Je dois dire que l'EDID de mon moniteur est bogué comme l'enfer. Donc ce n'est pas vraiment représentatif :-)
thom
Merci thom - semble similaire de mon côté ModelName "LGD:8902":, il semble donc qu'il soit représentatif après tout :) En outre, il n'affiche que mon écran d'ordinateur portable, mais pas celui externe.
icyrock.com
De nombreux EDID sont buggés. Les fabricants s'en moquent et les développeurs de pilotes font surtout des solutions de contournement. Les meilleures informations proviennent de pilotes vidéo à source fermée. Je l'extrait comme ceci: grep "Display" /var/log/Xorg.0.log |tail -1pour des informations détaillées que j'utilisegrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
thom
10

Si get-edidne montre pas tous les moniteurs. Comme le mien, j'ai:

$ lshw -c display
  *-display               
       description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:27 memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)

get-edid affiche uniquement le moniteur externe qui est branché sur le port VGA.

  1. Installer read-edid

    sudo apt-get install read-edid
    
  2. Lire les informations edid directement à partir de sysfs devrait montrer tous les moniteurs

    ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
    
user.dz
la source
8

Essayer

xrandr

(J'ai utilisé le programme une fois lorsque je jouais avec une configuration à deux moniteurs sur Archlinux.)

Vous pouvez le trouver dans le x11-server-utilspackage. Ce paquet contient d'autres trucs pour jouer comme:

  • iceauth, un outil pour manipuler les enregistrements d'autorisation du protocole ICE;
  • rgb;
  • sessreg, un programme simple pour gérer les entrées utmp / wtmp;
  • xcmsdb, un utilitaire de caractéristiques de couleur de périphérique pour le système de gestion des couleurs X;
  • xgamma, un outil pour interroger et définir la correction gamma d'un moniteur;
  • xhost, un programme très dangereux que vous ne devriez jamais utiliser;
  • xmodmap, un utilitaire pour modifier les mappages de touches et les mappages de boutons de pointeur dans X;
  • xrandr, une interface de ligne de commande vers l'extension RandR;
  • xrdb, un outil pour gérer la base de données des ressources du serveur X;
  • xrefresh, un outil qui oblige à redessiner l'écran X;
  • xset, un outil pour définir divers paramètres du serveur X;
  • xsetmode et xsetpointer, outils de gestion des périphériques d'entrée X;
  • xsetroot, un outil pour personnaliser l'apparence de la fenêtre racine;
  • xstdcmap, un utilitaire pour définir sélectivement les propriétés standard de la palette de couleurs;
  • xvidtune, un outil pour personnaliser les modèles de serveur X pour votre moniteur. (informations trouvées dans le gestionnaire de paquets synaptique)

la source
2
Merci Frank - pouvez-vous préciser comment utiliser le modèle de moniteur xrandr?
icyrock.com
ahah jamais utiliser xhost? pourquoi
Jack
0

xrandr, xrandr --propet vous xrandr --verbosefournira des informations avec différents niveaux de détails.

Les informations fournies par le fabricant peuvent être trouvées au format EDID .

Pour obtenir et décoder l'EDID, vérifiez d'abord la xrandrsortie pour connaître l'interface utilisée (par exemple eDP-1) apt install edid-decode, puis:

cat /sys/class/drm/card0-eDP-1/edid | edid-decode

Exemple de sortie que vous pouvez trouver ici . Remplacez eDP-1par votre interface si nécessaire.

Alternativement, les xrandr --propsorties EDID au format hexadécimal que vous pouvez alimenter vers ce décodeur EDID en ligne .

Je ne recommande pas d'utiliser le read-edidpackage car j'ai eu des expériences négatives avec celui-ci (version 3.0.2). Dans mon cas, get-edidgénère des caractères supplémentaires après la fin qui mènent à un avertissement edid-decodeet parse-edidgénère des ordures aléatoires dans ModelNameet dans les Identifierchamps.

utilisateur
la source