如何从命令行检索监视器配置?

如何从命令行检索监视器配置?

我正在制作一个需要访问计算机显示器配置的脚本。我怎样才能做到这一点?是否有我可以读取的命令或文件可以访问此信息?

目前,我这样做:

xwininfo -root

但我只有总体分辨率,没有细节。我需要的是每个屏幕的分辨率。

答案1

这在很大程度上取决于系统的设置。获取信息的一种方法是如果xrandr正在使用:

xrandr --query

这将显示类似以下内容:

Screen 0: minimum 320 x 200, current 3046 x 1050, maximum 8192 x 8192
VGA1 connected 1680x1050+1366+0 (normal left inverted right x axis y axis) 473mm x 296mm
   1680x1050      60.0*+
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 353mm x 198mm
   1366x768       60.0*+
   1360x768       59.8     60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)

然后,您可以使用一些文本处理工具来提取每个显示器的分辨率。

答案2

您可以尝试使用该工具监控edid,它产生这样的输出

Name: DELL 2407WFP
EISA ID: DELa017
EDID version: 1.3
EDID extension blocks: 0
Screen size: 52.0 cm x 33.0 cm (24.25 inches, aspect ratio 16/10 = 1.60)
Gamma: 2.2
Digital signal
Max video bandwidth: 170 MHz

    HorizSync 30-83
    VertRefresh 56-76

    # Monitor preferred modeline (60.0 Hz vsync, 74.0 kHz hsync, ratio 16/1)
    ModeLine "1920x1200" 154 1920 1968 2000 2080 1200 1203 1209 1235 -hsyncc

如果您在想要探测监视器信息时不想让 X 运行,那么这非常有用。

答案3

xrandr仅适用于带有 RandR 扩展的较新 X 服务器。诚然,现在的一切都应该如此,但万一不是……

xdpyinfo还打印出每个屏幕的信息,包括尺寸(像素和物理尺寸)。

相关内容