Wyświetl informacje o monitorze za pomocą wiersza polecenia

26

Czy istnieje sposób na zapytanie informacji o monitorze z wiersza poleceń? Na przykład pobierz model monitorowania, podobny do np. Tego, co lspcirobi z informacją o karcie graficznej, czy to, czy jest obecnie włączony czy wyłączony, takie rzeczy.

Jeśli to możliwe, jakie podstawowe informacje, takie jak powyższe, można łatwo zebrać? Na przykład, czy można ustalić, czy monitor znajduje się w pozycji pionowej czy poziomej? A może ma wbudowane głośniki?

Wiersz poleceń jest preferencją, ale jeśli istnieje metoda GUI, też chciałbym o tym usłyszeć.

icyrock.com
źródło
Jaki masz GPU?
thom
02: 00.0 Kontroler zgodny z VGA: Advanced Micro Devices [AMD] z domu ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com
może masz więcej szczęścia: sudo apt-get install xresprobei uruchomićsudo ddcprobe
Thom
Zobacz także Jak pobrać konfigurację monitorów z wiersza poleceń? na Unix.SE
użytkownik

Odpowiedzi:

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
źródło
pierwszy wiersz to polecenie. Zauważ, że nie jest to oficjalny sposób uzyskiwania informacji o dostawcy / modelu z monitora (ale tragiczne jest to często jedyny sposób), również zależy od dostawcy GPU.
thom
2
Dzięki - patrząc na to /var/log/Xorg.0.lognaprawdę pomaga - szkoda, że ​​to jedyny sposób.
icyrock.com,
Znalazłem howto: wiki.xbmc.org/…
thom
Dzięki za link, wygląda to interesująco - sprawdzę to.
icyrock.com
30

Tak, istnieje, gotowe do odczytu narzędzie do gromadzenia informacji sprzętowych dla monitorów VESA PnP . To narzędzie ma dwa polecenia:get-edid i parse-edid: narzędzia do pobierania i interpretowania specyfikacji monitora za pomocą protokołu VESA VBE DDC . EDID ( Extended Display Identification Data ) to format metadanych dla urządzeń wyświetlających do opisywania ich możliwości źródłu wideo.

Pierwszy:

sudo apt-get install read-edid

Więc spróbuj:

sudo get-edid | parse-edid
thom
źródło
1
Dzięki thom - czy możesz wyjaśnić, w jaki sposób mogę uzyskać model monitorowania za pomocą get-edid/ parse-edid? Kiedy uruchomiłem powyższe, nie wydrukowałem niczego (nawet w sekcji „Monitor”), które byłyby podobne do mojego producenta / modelu monitora. Jeśli nie masz nic przeciwko, czy możesz wkleić to, co dostajesz na swoim komputerze i posiadany model monitora, tylko dla porównania?
icyrock.com,
Identyfikator „\ QX: 2d40„ Nazwa dostawcy ”\ QX„ ModelName ”\ QX: 2d40„ Muszę powiedzieć, że EDID mojego monitora jest cholernie cholerny. To nie jest tak naprawdę reprezentatywne :-)
Thom
Dzięki, że - wygląda podobnie na moim końcu: ModelName "LGD:8902"wygląda więc na reprezentatywnego :) Poza tym wyświetla tylko mój monitor laptopa, ale nie zewnętrzny.
icyrock.com,
Wiele EDID jest wadliwych. Producenci nie dbają o to, a twórcy sterowników robią głównie obejścia. Najlepsze informacje pochodzą od zamkniętych źródeł wideo. Wyodrębniam to w ten sposób: w grep "Display" /var/log/Xorg.0.log |tail -1celu uzyskania obszernych informacji używamgrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
thom
10

Jeśli get-edidnie wyświetla wszystkich monitorów. Podobnie jak mój, mam:

$ 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 pokazuje tylko monitor zewnętrzny podłączony do portu VGA.

  1. Zainstaluj read-edid

    sudo apt-get install read-edid
    
  2. Odczytywanie informacji edid bezpośrednio z sysfs powinno pokazywać wszystkie monitory

    ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
    
user.dz
źródło
8

Próbować

xrandr

(Użyłem tego programu raz, kiedy grałem z konfiguracją dwóch monitorów na Archlinuxie.)

Można go znaleźć w x11-server-utilspakiecie. Ten pakiet zawiera inne rzeczy do zabawy, takie jak:

  • iceauth, narzędzie do manipulowania rekordami autoryzacji protokołu ICE;
  • rgb;
  • sessreg, prosty program do zarządzania wpisami utmp / wtmp;
  • xcmsdb, narzędzie do określania kolorów urządzenia dla X Color Management System;
  • xgamma, narzędzie do wysyłania zapytań i ustawiania korekcji gamma monitora;
  • xhost, bardzo niebezpieczny program, którego nigdy nie powinieneś używać;
  • xmodmap, narzędzie do modyfikowania map klawiszy i mapowań przycisków wskaźników w X;
  • xrandr, interfejs wiersza poleceń do rozszerzenia RandR;
  • xrdb, narzędzie do zarządzania bazą danych zasobów serwera X;
  • xrefresh, narzędzie, które wymusza przerysowanie ekranu X;
  • xset, narzędzie do ustawiania różnych parametrów serwera X;
  • xsetmode i xsetpointer, narzędzia do obsługi urządzeń wejściowych X;
  • xsetroot, narzędzie do dostosowywania wyglądu okna głównego;
  • xstdcmap, narzędzie do selektywnego definiowania standardowych właściwości map kolorów;
  • xvidtune, narzędzie do dostosowywania modeli X serwerów dla twojego monitora. (informacje znalezione w menedżerze pakietów synaptycznych)

źródło
2
Dzięki Frank - czy możesz wyjaśnić, w jaki sposób mogę uzyskać model monitorowania xrandr?
icyrock.com,
ahah nigdy nie używa xhosta? dlaczego
Jack
0

xrandr, xrandr --propI xrandr --verbosedaje pewne informacje o różnym poziomie szczegółowości.

Informacje dostarczone przez producenta można znaleźć w formacie EDID .

Aby uzyskać i zdekodować EDID, najpierw sprawdź xrandrdane wyjściowe, aby znaleźć używany interfejs (np. EDP-1) apt install edid-decode, a następnie:

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

Przykładowe dane wyjściowe można znaleźć tutaj . W eDP-1razie potrzeby zastąp go interfejsem.

Alternatywnie, xrandr --propwyprowadza EDID w formacie szesnastkowym, który można podawać do tego internetowego dekodera EDID .

Nie polecam używania read-edidpakietu, ponieważ miałem z nim negatywne doświadczenia (wersja 3.0.2). W moim przypadku get-edidgeneruje dodatkowe znaki po zakończeniu, które prowadzą do ostrzeżenia edid-decodei parse-edidlosowe śmieci ModelNamei Identifierpola.

użytkownik
źródło