シェル スクリプトから画面解像度を確認するにはどうすればよいでしょうか?

シェル スクリプトから画面解像度を確認するにはどうすればよいでしょうか?

シェル スクリプトから画面解像度を確認するにはどうすればよいでしょうか?

答え1

xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'

コマンドはxdpyinfo、X サーバーに関するさまざまな情報を表示します。 標準出力に多くの情報が書き込まれますが、必要なのは という単語で始まる行だけなので、dimensionsを使用しますgrep。最後に、 を使用してsed結果をクリーンアップします。

答え2

xdpyinfo | grep dimensions合計解像度が表示されます。複数のモニターがある場合は、すべてのモニターの合計xrandr --current解像度が表示されます。各モニターの解像度が表示されます。

このスニペットを使用して、フルスクリーンにせずに rDesktop の最大可能な解像度を見つけます。

Xaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)

Yaxis=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)

出力:

Xaxis = 1280
Yaxis = 1024

窓の装飾なし(多かれ少なかれ):

MaxRes=$(($Xaxis-5))"x"$(($Yaxis-25))

出力:

MaxRes = 1275x999

これは、フルスクリーンにしない rDesktop の最大解像度です。

終了コマンド:

rdesktop -u $User -P -z -5 -g $MaxRes $Host &

これまでのところ問題なく動作していますが、まだ徹底的にテストしていません。

もう 1 つの例は、次のスクリーンキャストの場合ですavconv

avconv -f x11grab -r 15 -s `xrandr --current | grep  '*' | uniq | awk '{print $1}'` -i :0.0 -c:v libx264 ./output.mp4

答え3

modes非常に簡単な方法は、sys ディレクトリ内のファイルを読み取ることです。

cat /sys/class/graphics/*/modes

またはそれぞれ

cat /sys/class/graphics/*/virtual_size

答え4

#############################################
## 私はこれをビデオ録画プログラムと一緒に使用します。
# ウィンドウサイズ --root オプション - 画面のルートウィンドウの情報
echo $(xwininfo -root | grep 'geometry' | awk '{print $2;}')
出力数: 1024x768+0+0
# 高さ x 幅 + x + y 位置。
######################
## 参考マニュアル ##
男 xwininfo

関連情報