Exibir informações do monitor via linha de comando


26

Existe uma maneira de consultar as informações do monitor na linha de comando? Por exemplo, obtenha o modelo de monitor, semelhante, por exemplo, ao que lspciacontece com informações sobre placas gráficas ou se está atualmente ligado ou desligado, coisas assim.

Se possível, que tipos de informações básicas, como as descritas acima, podem ser facilmente coletadas? Por exemplo, é possível determinar se o monitor está na posição retrato ou paisagem? Ou se tem alto-falantes embutidos ou não?

Linha de comando é a preferência, mas se houver um método GUI, também gostaria de ouvir sobre ele.


Qual GPU você tem?
Thom

02: 00.0 VGA controlador compatível: Advanced Micro Devices [AMD] nee ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com

talvez você tenha mais sorte com: sudo apt-get install xresprobee executarsudo ddcprobe
Thom


Respostas:


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".

primeira linha é o comando Observe que essa não é a maneira oficial de obter informações do fornecedor / modelo do monitor (mas, tragicamente, geralmente é a única maneira), também depende do fornecedor da GPU.
Thom

2
Obrigado - olhando /var/log/Xorg.0.logrealmente ajuda - é uma pena que este seja o único caminho.
Icyrock.com

Eu encontrei um howto: wiki.xbmc.org/…
thom

Obrigado pelo link, isso parece interessante - eu vou dar uma olhada.
Icyrock.com 07/11/13

30

Sim, existe uma ferramenta de coleta de informações de hardware com leitura de edid para monitores VESA PnP . Essa ferramenta possui dois comandos: get-edide parse-edid: ferramentas para recuperar e interpretar as especificações do monitor usando o protocolo VESA VBE DDC . EDID ( Dados estendidos de identificação de exibição ) é um formato de metadados para os dispositivos de exibição descreverem seus recursos em uma fonte de vídeo.

Primeiro:

sudo apt-get install read-edid

Então tente:

sudo get-edid | parse-edid

1
Obrigado thom - você pode esclarecer como posso obter o modelo do monitor usando get-edid/ parse-edid? Quando executei o procedimento acima, ele não imprimiu nada (nem mesmo na Seção "Monitor") que seria semelhante ao fabricante / modelo do meu monitor. Se estiver tudo bem com você, você pode colar o que recebe na sua máquina e o modelo de monitor que possui, apenas para comparação?
Icyrock.com

Identificador "\ QX: 2d40" Nome do fornecedor "\ QX" ModelName "\ QX: 2d40" Devo dizer que o EDID do meu monitor é um buggy pra caramba. De modo que não é realmente representativo :-)
Thom

Obrigado thom - parece semelhante do meu lado ModelName "LGD:8902":, parece que é representativo depois de tudo :) Além disso, ele exibe apenas o monitor do meu laptop, mas não o externo.
Icyrock.com

Muitos EDIDs são de buggy. Os fabricantes não se importam e os desenvolvedores de drivers estão trabalhando principalmente em soluções alternativas. As melhores informações são provenientes de videodrivers de código fechado. Eu extraí-lo como este: grep "Display" /var/log/Xorg.0.log |tail -1para informações extensa eu usogrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
Thom

10

Se get-edidnão mostrar todos os monitores. Como o meu, eu tenho:

$ 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 mostra apenas o monitor externo que está conectado à porta VGA.

  1. Instalar read-edid

    sudo apt-get install read-edid
    
  2. Leia as informações edid diretamente do sysfs deve mostrar todos os monitores

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

8

Experimentar

xrandr

(Eu usei o programa uma vez quando estava jogando com a configuração de dois monitores no Archlinux.)

Você pode encontrá-lo no x11-server-utilspacote. Esse pacote contém outras coisas para brincar, como:

  • iceauth, uma ferramenta para manipular registros de autorização de protocolo ICE;
  • rgb;
  • sessreg, um programa simples para gerenciar entradas utmp / wtmp;
  • xcmsdb, um utilitário de característica de cor do dispositivo para o X Color Management System;
  • xgamma, uma ferramenta para consultar e configurar a correção gama de um monitor;
  • xhost, um programa muito perigoso que você nunca deve usar;
  • xmodmap, um utilitário para modificar mapas de teclas e mapeamentos de botões de ponteiro no X;
  • xrandr, uma interface de linha de comando para a extensão RandR;
  • xrdb, uma ferramenta para gerenciar o banco de dados de recursos do servidor X;
  • xrefresh, uma ferramenta que força o redesenho da tela X;
  • xset, uma ferramenta para definir diversos parâmetros do servidor X;
  • xsetmode e xsetpointer, ferramentas para manipular dispositivos de entrada X;
  • xsetroot, uma ferramenta para personalizar a aparência da janela raiz;
  • xstdcmap, um utilitário para definir seletivamente as propriedades padrão do mapa de cores;
  • xvidtune, uma ferramenta para personalizar modelos de servidor X para o seu monitor. (informações encontradas no gerenciador de pacotes sinápticos)

2
Obrigado Frank - você pode esclarecer como obtenho o modelo de monitor usando xrandr?
Icyrock.com

ahah nunca usa xhost? por isso
Jack

0

xrandr, xrandr --prope xrandr --verbosefornecerá algumas informações com diferentes níveis de detalhes.

As informações fornecidas pelo fabricante podem ser encontradas no formato EDID .

Para obter e decodificar o EDID, verifique primeiro a xrandrsaída para descobrir a interface usada (por exemplo, eDP-1) e apt install edid-decode, em seguida:

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

Exemplo de saída que você pode encontrar aqui . Substitua eDP-1por sua interface, se necessário.

Como alternativa, xrandr --propgera EDID em formato hexadecimal que você pode alimentar com esse decodificador EDID online .

Não recomendo usar o read-edidpacote porque tive experiências negativas com ele (versão 3.0.2). No meu caso, get-edidgera caracteres adicionais após o final que levam a um aviso edid-decodee parse-edidproduz lixo aleatório nos campos ModelNamee Identifier.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.