Linuxデスクトップのコマンドラインから表示解像度を取得する


回答:


37

コマンドを使用しxrandrます。引数なしで、利用可能な解像度と現在の解像度(アスタリスク付き)を表示します。例えば:

$ xrandr | fgrep '*'

回答にサンプル出力を追加できますか?そして、私はxrandr |g grep \*トリックを推測していますか?
Ehteshチョードリー

11

代替ソリューション:xdpyinfo | grep dimensionsxdpyinfoは、よりも古いxrandrので、非常に古いディストリビューションまたは別のXサーバーを使用する場合は、より移植性があります。


2
確かに、いくつかの(すべて?)マルチモニター設定は1つの画面として表示されxdpyinfoxrandr画面とその解像度を正しく列挙します。これは、コンテキストに応じて問題になる場合もあれば、そうでない場合もあります。
ステファンゴーリチョン

注:xdpyinfoピクセル単位で正しい寸法を報告するようですが、間違った解像度(DPI)を報告します。dimesions 3840x2160(ネイティブと実際)と大きさ708ミリメートルX 399ミリメートルと私のモニター上などで報告されたようにxrandrxdpyinfo解像度はインチあたりに96x96ドットであることを述べています。
ルスラン

7

次のコマンドを使用して、水平および垂直解像度を取得できます。

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

または、よりコンパクトな形式で(このコメントでPeter.Oが提案したとおり):

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

たとえば、1600x900ディスプレイでは、次の出力が生成されます。

1600 900

次のコマンドを使用して、値を個別の変数に配置できます。

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

次のコマンドを使用して、上記の変数の値を表示します。

echo $RES_X, $RES_Y

1600x900ディスプレイの出力は次のとおりです。

1600, 900

1
xdpyinfo | awk -F '[x] +' '/ dimensions:/ {print $ 3、$ 4}'
Peter.O

@ Peter.O、ありがとう。これは、コマンドのコンパクトな形式です。答えを更新しました。
crayzeewulf

確かに、xrandrが画面とその解像度を正しく列挙している間に、一部(すべて?)のマルチモニター設定がxdpyinfoで1つの画面として表示されます。これは、コンテキストに応じて問題になる場合もあれば、そうでない場合もあります。
ステファンゴーリチョン

5

投稿する前に、もう少し難しく見えるべきだった。xrandr他の引数が指定されていない場合、現在の表示設定をエコーし​​ます。

デフォルトでは、これはすべての可能な表示設定をダンプします。これは次のようにフィルタリングできます。

xrandr | egrep '^[^ ]|[0-9]\*\+'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.