Отображение информации о мониторе через командную строку

26

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

Если это возможно, какую базовую информацию, такую ​​как приведенная выше, можно легко собрать? Например, можно ли определить, находится ли монитор в книжной или альбомной ориентации? Или есть встроенные динамики или нет?

Предпочтение отдается командной строке, но если есть метод с графическим интерфейсом, я бы тоже хотел услышать об этом.

icyrock.com
источник
Какой у вас графический процессор?
13
02: 00.0 VGA-совместимый контроллер: Усовершенствованные микроустройства [AMD] или ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com
может быть , у вас есть больше удачи с: sudo apt-get install xresprobeи запуститьsudo ddcprobe
Thom

Ответы:

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
источник
Первая строка - это команда. Обратите внимание, что это не является официальным способом получения информации о поставщике / модели от монитора (но, к сожалению, это часто единственный способ), а также это зависит от поставщика графического процессора.
13:30
2
Спасибо - глядя на /var/log/Xorg.0.logсамом деле помогает - жаль, что это единственный способ.
icyrock.com
Я нашел МЕТОДИЧЕСКИЙ: wiki.xbmc.org/...
Thom
Спасибо за ссылку, это выглядит интересно - я проверю это.
icyrock.com
/var/log/Xorg.0.log: No such file or directory
Борис
30

Да, есть аппаратный инструмент для сбора информации read-edid для мониторов VESA PnP . Этот инструмент имеет две команды: get-edidи parse-edid: инструменты для извлечения и интерпретации спецификаций монитора с использованием протокола VESA VBE DDC . EDID ( расширенные данные идентификации дисплея ) - это формат метаданных для устройств отображения, чтобы описать их возможности для источника видео.

Первый:

sudo apt-get install read-edid

Тогда попробуйте:

sudo get-edid | parse-edid
Thom
источник
1
Спасибо, не могли бы вы уточнить, как я могу получить модель монитора, используя get-edid/ parse-edid? Когда я запускал вышеописанное, он не печатал ничего (даже в разделе «Монитор»), которое было бы похоже на мой производитель / модель монитора. Если с вами все в порядке, можете ли вы вставить то, что вы получаете на свою машину и модель вашего монитора, просто для сравнения?
icyrock.com
Идентификатор "\ QX: 2d40" VendorName "\ QX" ModelName "\ QX: 2d40" Я должен сказать, что EDID моего монитора глючит до чертиков. Так что это не совсем представительно :-)
13
Спасибо, это выглядит похоже с моей стороны: ModelName "LGD:8902"похоже, он все- таки представительный :) Кроме того, он отображает только монитор моего ноутбука, но не внешний.
icyrock.com
Многие EDID глючат. Производители не заботятся, а разработчики драйверов делают в основном обходные пути. Лучшая информация поступает от закрытых источников видеодрайверов. Я извлекаю это так: grep "Display" /var/log/Xorg.0.log |tail -1для обширной информации я используюgrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
thom
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 < {}"
    
user.dz
источник
8

Пытаться

xrandr

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

Вы можете найти его в x11-server-utilsупаковке. Этот пакет содержит другие вещи для игры, как:

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

источник
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полях.

пользователь
источник