48

I would like to find a wallpaper that best suits my resolution. How can I get the resolution just by writing commands in the command line?

69

Taken from this answer:

xdpyinfo | grep dimensions

Or to get just the resolution:

xdpyinfo | awk '/dimensions/{print $2}'

OR

xdpyinfo  | grep -oP 'dimensions:\s+\K\S+'
  • 8
    It works for a single monitor setup but with two monitors it sums both dimensions, for me my two screens return: 3520x1200 pixels – Sylvain Pineau Feb 12 '15 at 14:31
  • 3
    Good point. On the other hand, this is still useful if he's searching for a single wallpaper to be spanned over all monitors. – aguslr Feb 12 '15 at 14:36
  • Indeed you're right, +1 ;) – Sylvain Pineau Feb 12 '15 at 14:38
  • @aguslr What would be the point of that? Having two 2000x1000 monitors, what use would be a 4000x2000 wallpaper image? – Jos Feb 12 '15 at 15:01
  • 1
    @Jos, I get it this command would return 4000x1000, that is, it puts both monitors next to each other. For example, Sylvain has two monitors (1600x900 and 1920x1200) and he gets 3520x1200. – aguslr Feb 12 '15 at 15:06
30

I would just use xrandr:

$ xrandr 
Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 32767 x 32767
LVDS1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 310mm x 174mm
   1600x900       60.0*+
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9     24.0     24.0  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        75.0     60.0     59.9  
   720x400        70.1  
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Here I have two screens, the resolution are:

  • 1600x900 (laptop)
  • 1920x1200 (monitor)

To get only the resolution of your primary monitor, you can also use this python oneliner:

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
geo = screen.get_monitor_geometry(screen.get_primary_monitor()); \
print(geo.width, "x", geo.height)'
1920 x 1200

To get the resolution of your extanded desktop (for a multi monitor setup):

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
print(screen.get_width(), "x", screen.get_height())'
3520 x 1200
  • xrandr + vesa = no workee. – Joshua Feb 12 '15 at 20:50
  • Just the resolution of in-use displays: xrandr | grep " connected\|\*" – Pablo A Apr 15 at 15:54
10

The request was for the resolution. That is given by

xdpyinfo | grep resolution
  • 4
    Typically, people use resolution to mean the dimensions. The DPI is not of as much concern as the dimensions are. – muru Feb 19 '15 at 4:04
3

You can also use:

 xrandr | grep ' connected'

Example of output on one of my machines:

LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1

For what it's worth, when using multiple connected displays and/or offsets with TwinView then xdpyinfo will give you the resolution of the entire set of displays the way they are configured. If you require the resolution of a single monitor or a monitor connected to one of the display ports you need to use xrandr. However, even in that configuration xrandr can be unreliable and not show the resolution. See this example entry from my X windows config file:

Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"

The xrandr output looks like this:

DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
   1440x900      59.89 +  74.98
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 connected 1440x900+1568+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94

You can see that DP-3 isn't showing a resolution on the line that a grep for "connected" would show. So the best, most consistent, and reliable command I've found for identifying the resolution of any individual connected display is:

/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected

which produces this:

   1440x900      59.89*+
--
   1440x900      59.89*+  74.98
--
   1440x900      59.89*+

At that point, it's pretty trivial to pick out the different resolutions or grep for only one port.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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