web-dev-qa-db-ja.com

コマンドラインからモニター構成を取得するにはどうすればよいですか?

コンピューターのモニター構成にアクセスする必要があるスクリプトを作成しています。どうやってやるの?この情報にアクセスできる場所で読み取ることができるコマンドまたはファイルはありますか?

現時点では、私は次のことを行います。

xwininfo -root

しかし、私には全体的な解像度しかなく、詳細はありません。必要なのは、各画面の解像度です。

4
nbarraille

これは、システムの設定に大きく依存します。情報を取得する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)

次に、テキスト処理ツールを使用して、各ディスプレイの解像度を引き出すことができます。

8
Steven D

このような出力を生成するツール monitor-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を実行したくない場合に役立ちます。

8
jsbillings

xrandrは、RandR拡張機能を備えた新しいXサーバーでのみ機能します。確かに、それは最近のすべてに当てはまるはずですが、そうでない場合は…

xdpyinfoは、サイズ(ピクセルと物理サイズ)を含む画面ごとの情報も出力します。

4
ephemient