たとえば、モニターに関する情報を取得したいが、xrandr
より多くの情報があります。
私は彼らがどこにいるのか知りたいです。したがって、複数のモニターが接続されている場合は、モニターがどのように関連しているかを知りたいと思います。モニターをレプリカの代わりに拡張として使用する場合。シェルコマンドで左、右、上、下のディスプレイがあるかどうかを知りたいです。
似たようなものがありますか?それとも、少なくともモニターのIDを提供できるコマンドがあり、どの方向に他のモニターがあるかを知らせるコマンドはありますか?
答え1
まあ、すべてのオプションをテストすることはできませんが、xrandr
1つはあるようです。左到着正しいそしてトップ到着一番下方向。
より良い理解を助けるために、モニターのスクリーンショットは次のとおりです。
これを端末で実行すると、xrandr
次のような結果が出ます。
Screen 0: minimum 320 x 200, current 3046 x 1050, maximum 32767 x 32767
LVDS1 connected 1366x768+0+282 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1680x1050+1366+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*
1024x768 60.0
800x600 60.3 56.2
848x480 60.0
640x480 59.9
今、私は最初に彼らがどのように関連しているのかを理解することができませんでしたが、モニターレイアウトを台無しにして読んだ後、xrandrがモニター間の関係をどのように表すかを見つけました。
モニターの画面解像度が異なり、xrandr
異なる解像度を組み合わせた一種の仮想解像度を作成する場合最高幅と最大高さ。
これが出力の最初の行で現在の解像度を取得する理由です。
3046 x 1050 = (1366+1680) x 1050
2つの幅の解像度を追加し、最大の高さを維持します。
私のモニターレイアウトが並んでいるからです。機会が与えられたら、モニターのレイアウトを次のように変更します。
次のようになりますxrandr
。
Screen 0: minimum 320 x 200, current 1680 x 1818, maximum 32767 x 32767
LVDS1 connected 1366x768+314+0 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1680x1050+0+768 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*
1024x768 60.0
800x600 60.3 56.2
848x480 60.0
640x480 59.9
これで、仮想解像度は次のようになります。
1680 x 1818 = 1680 x (768+1050)
今最初のレイアウトxrandr
と出力に戻り、私のラップトップの解像度は次のようになります。
LVDS1 connected 1366x768+0+282
したがって、これは私のラップトップが原点からできるだけ離れていることを意味します(単純化のために282ピクセル)。
xrandr
他のモニターの出力を確認すると、次の結果が表示されます。
VGA1 connected 1680x1050+1366+0
1366は私のラップトップモニターの幅なので、モニターが私のラップトップモニターの右側にあると仮定できます。