コンピューターのモニター構成にアクセスする必要があるスクリプトを作成しています。どうやってやるの?この情報にアクセスできる場所で読み取ることができるコマンドまたはファイルはありますか?
現時点では、私は次のことを行います。
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)
次に、テキスト処理ツールを使用して、各ディスプレイの解像度を引き出すことができます。
このような出力を生成するツール 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を実行したくない場合に役立ちます。
xrandr
は、RandR拡張機能を備えた新しいXサーバーでのみ機能します。確かに、それは最近のすべてに当てはまるはずですが、そうでない場合は…
xdpyinfo
は、サイズ(ピクセルと物理サイズ)を含む画面ごとの情報も出力します。