Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm looking for a method of reporting display resolution. I want to set up scripts to launch rdesktop, and I want to launch it on several machines with different resolutions, so I want a way to dynamically determine it.

share|improve this question

4 Answers 4

up vote 13 down vote accepted

Use the command xrandr. Without any argument it displays the available resolutions and the current one (with an asterisk).

share|improve this answer
Could you append some sample output to the answer? And I'm guessing xrandr |g grep \* does the trick? –  Ehtesh Choudhury Apr 26 '13 at 19:38

Alternative solution: xdpyinfo | grep dimensions. xdpyinfo is older than xrandr, so might be more portable if you happen to use a very old distribution or some different X server.

share|improve this answer

I should have looked a little harder before posting. xrandr will echo the current display settings, if not given any other arguments.

By default, this will dump all possible display settings, this can be filtered as follows:

xrandr | egrep '^[^ ]|[0-9]\*\+'
share|improve this answer

You can get the horizontal and vertical resolutions using the following command:

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

or, in more compact form (as suggested by Peter.O in this comment):

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

For exmaple, on a 1600x900 display this will produce the following output:

1600 900

You can then place the values into separate variables using the command:

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

Display the values of the above variables using the command:

echo $RES_X, $RES_Y

On a 1600x900 display, the output is:

1600, 900
share|improve this answer
xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' –  Peter.O Apr 13 at 15:29
@Peter.O, thanks. This is a nice compact form of the command. I've updated the answer. –  crayzeewulf Apr 13 at 21:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.