Відображення інформації монітора за допомогою командного рядка


26

Чи є спосіб запитувати інформацію монітора з командного рядка? Наприклад, отримайте модель монітора, подібну наприклад, наприклад, що lspciстосується інформації про графічну карту, чи вона наразі увімкнена чи вимкнена.

Якщо можливо, які види основної інформації, такі як вище, можна легко зібрати? Наприклад, чи можна визначити, чи монітор знаходиться в портретному чи пейзажному положенні? Або якщо він має вбудовані колонки чи ні?

Командний рядок є перевагою, але якщо є метод GUI, я також хотів би почути про це.


Який у вас GPU?
1313

02: 00.0 VGA-сумісний контролер: Просунуті мікропристрої [AMD], не ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com

можливо, у вас є більше удачі з: sudo apt-get install xresprobeі біжітьsudo ddcprobe
1313


Відповіді:


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

перший рядок - команда. Зауважте, що це не офіційний спосіб отримання інформації про продавця / модель від монітора (але трагічно, це часто єдиний спосіб), також це залежить від GPU-постачальника.
1313

2
Спасибі - /var/log/Xorg.0.logрозгляд справді допомагає - шкода, це єдиний спосіб.
icyrock.com

Я знайшов як: wiki.xbmc.org/…
1313

Дякую за посилання, це виглядає цікаво - я перевірю його.
icyrock.com

/var/log/Xorg.0.log: No such file or directory
Борис

30

Так, є інструмент для збору інформації для зчитування інформації для VESA PnP-моніторів . Цей інструмент має дві команди: get-edidта parse-edid: інструменти для отримання та інтерпретації специфікацій монітора за допомогою протоколу VESA VBE DDC . EDID ( Extended Display Identification Data ) - формат метаданих для пристроїв відображення для опису їх можливостей до джерела відео.

Спочатку:

sudo apt-get install read-edid

Потім спробуйте:

sudo get-edid | parse-edid

1
Дякую, - можете пояснити, як я можу отримати модель монітора за допомогою get-edid/ parse-edid? Коли я запускав вищезазначене, він не надрукував нічого (навіть у розділі "Монітор"), що було б подібне до мого виробника / моделі монітора. Якщо з вами все гаразд, чи можете ви вставити те, що ви отримаєте на свій апарат, і модель монітора, яку ви маєте, просто для порівняння?
icyrock.com

Ідентифікатор "\ QX: 2d40" VendorName "\ QX" ModelName "\ QX: 2d40" Я мушу сказати, що EDID монітора непомітний. Тож це насправді не є представником :-)
1313

Дякую, що я схожий на мій кінець: ModelName "LGD:8902"так виглядає, що він все-таки представницький :) Крім того, він відображає лише мій монітор ноутбука, але не зовнішній.
icyrock.com

Дуже багато EDID - баггі. Виробники не хвилюються, а розробники водіїв займаються здебільшого обхідними шляхами. Найкраща інформація надходить із відеоприводів із закритим джерелом. Я grep "Display" /var/log/Xorg.0.log |tail -1grep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
витягую

10

Якщо get-edidне показує всіх моніторів. Як і моя, у мене є:

$ 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 показує лише зовнішній монітор, який підключений до порту VGA.

  1. Встановіть read-edid

    sudo apt-get install read-edid
    
  2. Читання інформації про Edid безпосередньо з sysfs має показувати всі монітори

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

8

Спробуйте

xrandr

(Я використовував програму один раз, коли я грав з налаштуванням подвійного монітора в Archlinux.)

Ви можете знайти його в x11-server-utilsупаковці. Цей пакет містить інші речі, з якими можна пограти:

  • iceauth, інструмент для маніпулювання записами авторизації протоколу ICE;
  • rgb;
  • sessreg, проста програма для управління записами utmp / wtmp;
  • xcmsdb, утиліта, характерна для кольору пристрою для системи управління кольором X;
  • xgamma, інструмент для запитів та встановлення гамма-корекції монітора;
  • xhost, дуже небезпечна програма, яку ніколи не слід використовувати;
  • xmodmap, утиліта для зміни мап клавіш та відображення кнопок вказівника у X;
  • xrandr, інтерфейс командного рядка до розширення RandR;
  • xrdb, інструмент для управління базою ресурсів X сервера;
  • xrefresh - інструмент, який змушує перемальовувати екран X;
  • xset, інструмент для встановлення різних параметрів сервера X;
  • xsetmode та xsetpointer, інструменти для обробки пристроїв X введення;
  • xsetroot, інструмент для адаптації зовнішнього вигляду кореневого вікна;
  • xstdcmap, утиліта для вибіркового визначення стандартних властивостей кольорової карти;
  • xvidtune, інструмент для налаштування моделей X сервера для вашого монітора. (інформація знайдена в менеджері синаптичних пакетів)

2
Дякую Френку - чи можете ви уточнити, як мені отримати модель монітора за допомогою xrandr?
icyrock.com

аха ніколи не використовуйте xhost? чому
Джек

0

xrandr, xrandr --propі xrandr --verboseдасть вам інформацію з різним рівнем деталізації.

Інформацію, надану виробником, можна знайти у форматі EDID .

Щоб отримати та розшифрувати EDID, спочатку перевірте xrandrвихід, щоб дізнатися використаний інтерфейс (наприклад, eDP-1), а apt install edid-decodeпотім:

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

Приклад виводу ви можете знайти тут . При необхідності замініть eDP-1інтерфейс.

Крім того, xrandr --propвиводиться EDID у шістнадцятковому форматі, який ви можете подавати на цей онлайн- декодер EDID .

Я не рекомендую використовувати read-edidпакет, оскільки у мене був негативний досвід роботи з ним (версія 3.0.2). У моєму випадку get-edidпісля закінчення виводиться додаткові символи, які призводять до попередження edid-decodeта parse-edidвиводять випадкові сміття в поля ModelNameта Identifierполя.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.