Mostrar información del monitor a través de la línea de comando

26

¿Hay alguna manera de consultar la información del monitor desde la línea de comandos? Por ejemplo, obtenga un modelo de monitor, similar a, por ejemplo, qué lspcihace para la información de la tarjeta gráfica, o si está actualmente encendido o apagado, cosas así.

Si es posible, ¿qué tipos de información básica como la anterior se puede recopilar fácilmente? Por ejemplo, ¿es posible determinar si el monitor está en posición vertical u horizontal? ¿O si tiene altavoces incorporados o no?

La línea de comando es la preferencia, pero si hay un método GUI, también me gustaría saberlo.

icyrock.com
fuente
¿Qué GPU tienes?
Tom
02: 00.0 Controlador compatible con VGA: Advanced Micro Devices [AMD] nee ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com
tal vez tenga más suerte con: sudo apt-get install xresprobey ejecutasudo ddcprobe
Thom

Respuestas:

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
fuente
La primera línea es el comando. Tenga en cuenta que esta no es la forma oficial de obtener información del proveedor / modelo del monitor (pero, trágicamente, a menudo es la única forma), también depende del proveedor de GPU.
Tom
2
Gracias. Investigar /var/log/Xorg.0.logrealmente ayuda. Es una pena que esta sea la única manera.
icyrock.com
I Found a howto: wiki.xbmc.org/...
Thom
Gracias por el enlace, esto parece interesante. Lo comprobaré.
icyrock.com
30

Sí, hay una herramienta de recopilación de información de hardware edid-readid para monitores PESA VESA . Esta herramienta tiene dos comandos: get-edidy parse-edid: herramientas para recuperar e interpretar las especificaciones del monitor utilizando el protocolo VESA VBE DDC . EDID ( Datos de identificación de pantalla extendida ) es un formato de metadatos para dispositivos de pantalla para describir sus capacidades a una fuente de video.

Primero:

sudo apt-get install read-edid

Entonces intenta:

sudo get-edid | parse-edid
thom
fuente
1
Gracias, ¿puedes aclarar cómo puedo obtener el modelo de monitor usando get-edid/ parse-edid? Cuando ejecuté lo anterior, no imprimió nada (ni siquiera en la Sección "Monitor") que fuera similar al fabricante / modelo de mi monitor. Si te parece bien, ¿puedes pegar lo que obtienes en tu máquina y el modelo de monitor que tienes, solo para comparar?
icyrock.com
Identificador "\ QX: 2d40" VendorName "\ QX" ModelName "\ QX: 2d40" Tengo que decir que el EDID de mi monitor tiene errores como el infierno. Así que eso no es realmente representativo :-)
thom
Gracias, parece similar por mi parte: ModelName "LGD:8902"parece que es representativo después de todo :) Además, solo muestra el monitor de mi computadora portátil, pero no el externo.
icyrock.com
Muchos EDID tienen errores. A los fabricantes no les importa y los desarrolladores de controladores están haciendo principalmente soluciones. La mejor información proviene de videodrivers de código cerrado. Extraigo de esta manera: grep "Display" /var/log/Xorg.0.log |tail -1para la extensa información que utilizogrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
Thom
10

Si get-edidno muestra todos los monitores. Como el mío, tengo:

$ 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 muestra solo el monitor externo que está conectado al puerto VGA.

  1. Instalar read-edid

    sudo apt-get install read-edid
    
  2. Leer la información edid directamente desde sysfs debería mostrar todos los monitores

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

Tratar

xrandr

(Usé el programa una vez cuando estaba jugando con la configuración de monitor dual en Archlinux).

Lo puedes encontrar en el x11-server-utilspaquete. Ese paquete contiene otras cosas para jugar como:

  • iceauth, una herramienta para manipular registros de autorización de protocolo ICE;
  • rgb;
  • sessreg, un programa simple para administrar entradas utmp / wtmp;
  • xcmsdb, una utilidad característica del color del dispositivo para el sistema de gestión del color X;
  • xgamma, una herramienta para consultar y configurar la corrección gamma de un monitor;
  • xhost, un programa muy peligroso que nunca deberías usar;
  • xmodmap, una utilidad para modificar mapas de teclas y asignaciones de botones de puntero en X;
  • xrandr, una interfaz de línea de comandos para la extensión RandR;
  • xrdb, una herramienta para administrar la base de datos de recursos del servidor X;
  • xrefresh, una herramienta que obliga a volver a dibujar la pantalla X;
  • xset, una herramienta para configurar diversos parámetros del servidor X;
  • xsetmode y xsetpointer, herramientas para manejar dispositivos de entrada X;
  • xsetroot, una herramienta para adaptar la apariencia de la ventana raíz;
  • xstdcmap, una utilidad para definir selectivamente las propiedades estándar del mapa de colores;
  • xvidtune, una herramienta para personalizar modelos de servidor X para su monitor. (información encontrada en el administrador de paquetes sinápticos)

fuente
2
Gracias Frank, ¿puedes aclarar cómo obtengo el modelo de monitor xrandr?
icyrock.com
ahah nunca usas xhost? por qué
Jack
0

xrandr, xrandr --propy le xrandr --verbosebrindará información con diferentes niveles de detalle.

La información proporcionada por el fabricante se puede encontrar en el formato EDID .

Para obtener y decodificar EDID, primero verifique la xrandrsalida para descubrir la interfaz utilizada (por ejemplo, eDP-1) y apt install edid-decode, luego:

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

Ejemplo de salida que puedes encontrar aquí . Reemplace eDP-1con su interfaz si es necesario.

Alternativamente, xrandr --propgenera EDID en formato hexadecimal que puede alimentar a este decodificador EDID en línea .

No recomiendo usar el read-edidpaquete porque tuve experiencias negativas con él (versión 3.0.2). En mi caso, get-edidgenera caracteres adicionales después del final que generan una advertencia edid-decodey parse-edidgenera basura aleatoria en ModelNamey Identifiercampos.

usuario
fuente