from Xlib import display, X from PIL import Image W,H = 200,200 dsp = display.Display(':0') try: root = dsp.screen().root raw = root.get_image(0, 0, W,H, X.ZPixmap, 0xffffffff) image = Image.frombytes("RGB", (W, H), raw.data, "raw", "BGRX") image.save('image.png') finally: dsp.close()