通过命令行显示监视器信息


26

有没有办法从命令行查询监视器信息?例如,获取监控器模型,类似于诸如lspci处理图形卡信息的模型,或者当前是否处于打开状态等类似的事情。

如果可能的话,可以轻松地收集诸如上述的哪些基本信息?例如,是否可以确定监视器是处于纵向还是横向位置?还是是否有内置扬声器?

命令行是首选项,但是如果有GUI方法,我也想听听。


您有什么GPU?
2013年

02:00.0 VGA兼容控制器:Advanced Micro Devices [AMD]和ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com

也许您还有更多的运气:sudo apt-get install xresprobesudo ddcprobe
2013年


Answers:


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供应商。
2013年

2
谢谢-研究/var/log/Xorg.0.log实际上有帮助-很可惜,这是唯一的方法。
icyrock.com 2013年

:我发现了一个HOWTO wiki.xbmc.org/...
托姆

感谢您的链接,这看起来很有趣-我会检查一下。
icyrock.com 2013年

30

是的,有一个用于VESA PnP显示器的预 硬件信息收集工具。该工具有两个命令:get-edidparse-edid使用VESA VBE DDC协议检索和解释监视器规格的工具EDID扩展显示标识数据)是一种元数据格式,用于显示设备向视频源描述其功能。

第一:

sudo apt-get install read-edid

然后尝试:

sudo get-edid | parse-edid

1
谢谢thom-您能说明如何使用get-edid/ 获得监视器模型parse-edid吗?当我执行上述操作时,它没有打印任何与显示器制造商/型号相似的东西(甚至在“显示器”部分中也没有)。如果可以的话,您是否可以粘贴您在计算机上获得的信息以及所拥有的显示器型号,以进行比较?
icyrock.com

标识符“ \ QX:2d40”供应商名称“ \ QX”型号名称“ \ QX:2d40”我不得不说监视器的EDID像地狱一样。因此,这并不是真正的代表:-)
thom

谢谢thom-在我的末端看起来很相似: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 2013年

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. 直接从sysfs读取edid信息应显示所有监视器

    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

xrandrxrandr --propxrandr --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-edidpackage,因为我对此有负面的看法(版本3.0.2)。在我的情况下,get-edid在结尾处输出其他字符,这些字符会导致发出警告,edid-decodeparse-edidModelNameand Identifier字段中输出随机垃圾。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.