xwd

In the X Window System, xwd is a program for capturing the content of the screen or of a window and saving it into a file. xwd can be run in two ways: if user specifies the whole screen or the name or identifier of a window as an argument, the program captures the content of the window; otherwise, it changes the shape of the cursor and waits for the user to click in a window, whose content is then captured.

At the X Window core protocol level, xwd uses the fact that any X client can request the content of an arbitrary window, including ones it did not create, using the GetImage request (this is done by the XGetImage function in the Xlib library). The content of the whole screen is obtained by requesting the content of the root window.

The file generated by xwd can then be read by various other X utilities such as xwud, xv, and the GIMP, or converted to other formats; the netpbm suite allows a useful pipeline to be constructed:

$ xwd | xwdtopnm | pnmtopng > Screenshot.png

The dumps are larger in size than files in most image file formats – not only compressed formats such as PNG, but also uncompressed bitmap formats like BMP.

External links