有没有办法从命令行查询监视器信息?例如,获取监控器模型,类似于诸如lspci
处理图形卡信息的模型,或者当前是否处于打开状态等类似的事情。
如果可能的话,可以轻松地收集诸如上述的哪些基本信息?例如,是否可以确定监视器是处于纵向还是横向位置?还是是否有内置扬声器?
命令行是首选项,但是如果有GUI方法,我也想听听。
sudo apt-get install xresprobe
sudo ddcprobe
有没有办法从命令行查询监视器信息?例如,获取监控器模型,类似于诸如lspci
处理图形卡信息的模型,或者当前是否处于打开状态等类似的事情。
如果可能的话,可以轻松地收集诸如上述的哪些基本信息?例如,是否可以确定监视器是处于纵向还是横向位置?还是是否有内置扬声器?
命令行是首选项,但是如果有GUI方法,我也想听听。
sudo apt-get install xresprobe
sudo ddcprobe
Answers:
$ 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".
/var/log/Xorg.0.log
实际上有帮助-很可惜,这是唯一的方法。
是的,有一个用于VESA PnP显示器的预读 硬件信息收集工具。该工具有两个命令:get-edid
和parse-edid
: 使用VESA VBE DDC协议检索和解释监视器规格的工具。EDID(扩展显示标识数据)是一种元数据格式,用于显示设备向视频源描述其功能。
第一:
sudo apt-get install read-edid
然后尝试:
sudo get-edid | parse-edid
get-edid
/ 获得监视器模型parse-edid
吗?当我执行上述操作时,它没有打印任何与显示器制造商/型号相似的东西(甚至在“显示器”部分中也没有)。如果可以的话,您是否可以粘贴您在计算机上获得的信息以及所拥有的显示器型号,以进行比较?
ModelName "LGD:8902"
,所以看起来毕竟很有代表性:)此外,它只显示我的笔记本电脑显示器,而不显示外部显示器。
grep "Display" /var/log/Xorg.0.log |tail -1
对于大量信息,我使用grep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
如果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端口的外接显示器。
安装read-edid
sudo apt-get install read-edid
直接从sysfs读取edid信息应显示所有监视器
ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
尝试
xrandr
(当我在Archlinux上使用双显示器设置时,我曾经使用过该程序。)
您可以在x11-server-utils
包中找到它。该软件包包含其他可玩的东西,例如:
xrandr
吗?
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
package,因为我对此有负面的看法(版本3.0.2
)。在我的情况下,get-edid
在结尾处输出其他字符,这些字符会导致发出警告,edid-decode
并parse-edid
在ModelName
and Identifier
字段中输出随机垃圾。