Linux下获取屏幕供应商和序列号

问题描述 投票:0回答:3

我有一个

Gdk::Screen
的实例,它代表连接到我的计算机的监视器。我如何读取该显示器的供应商 ID 和/或序列号?

从 XScreen 获取供应商 ID 和序列号也足够了。

读取显示器的 EDID 也足够了。

有什么想法吗?谢谢!

linux gtk x11 gdk edid
3个回答
2
投票

我还没有对此进行测试,但是您应该能够查看 Gnome 的显示配置小程序的源代码。在这里:

http://git.gnome.org/browse/gnome-control-center/tree/panels/display/xrandr-capplet.c

功能

get_display_name()
看起来很有前途。看起来它使用了 libgnome-desktop 中的代码,也可以在同一个 git 浏览器中查看。


1
投票

EDID 信息通常不完全由 X11 传递,而仅传递那些对图形重新生成重要的部分,即分辨率、物理尺寸等。可以为此实现 X11 扩展,但 ATM 没有这样的扩展。

所以您必须另外查询 EDID 信息。远程操作是不可能的,但是要读取本地机器信息,可以使用像 read-edid 这样的工具。此外,可能还有图形驱动程序供应商特定的扩展来执行此操作,例如 NVidia 的 NV-CONTROL


0
投票

在 gnome 系统上:

$ grep -E '产品|序列' ~/.config/monitors.xml

© www.soinside.com 2019 - 2024. All rights reserved.