【问题标题】:Is it possible to obtain a monitor description using Xrandr?是否可以使用 Xrandr 获得监视器描述?
【发布时间】:2016-02-03 04:58:17
【问题描述】:

我正在编写一个跨平台库,它提供对窗口系统 (Win32/Cocoa/X11/Wayland) 的低级访问。现在我正在努力获取有关连接显示器的信息。我的“屏幕信息”实用程序使用我当前的双显示器设置写入以下输出:

- name: DVI-D-0
  size (pixels): (1920, 1080)
  physical size (mm): (477, 268)
  resolution (px/cm): (40, 40)
- name: DVI-I-1
  size (pixels): (1680, 1050)
  physical size (mm): (433, 271)
  resolution (px/cm): (38, 38)

名称是由 Xrandr 扩展库提供的XRRMonitorInfo 结构的name 成员获得的。在我的 [MATE] 控制面板中,它显示每个连接的显示器的供应商名称(分别为 Acer Technologies 和 Samsung Electric Company)。

我一直在挖掘 MATE 源代码,看看他们是如何获得供应商名称的,但到目前为止,它一直在引导我。有什么方法可以使用 Xrandr 库获取供应商名称等信息?如果没有,这还能如何实现?任何帮助表示赞赏。

【问题讨论】:

    标签: x11 xlib xrandr


    【解决方案1】:

    您似乎可以通过读取显示器的 EDID 来获取此信息。使用get-edidxrandr --verbose,您可以获得EDID 块。 parse-edid 可以将二进制数据解码为可读信息,其中将包含监视器名称。

    这里的 EDID 实用程序可能有可用的代码进行审查:http://www.polypux.org/projects/read-edid/

    另请参阅此 Stack Overflow 帖子:Linux retrieve monitor names

    【讨论】:

      猜你喜欢
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多