Get display resolution from the command line for Linux Desktop
Use the command xrandr
. Without any argument it displays the available resolutions and the current one (with an asterisk), for instance:
$ xrandr | fgrep '*'
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.
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