#322·pyautogui

Xlib.error.DisplayConnectionError on Ubuntu 18.04

Author: jaeger-2601Created Mar 29, 2019Updated Apr 6, 2026

Importing pyautogui in Python 3.7.2 in Ubuntu 18.04, generates a Xlib.error.DisplayConnectionError This error only occurs when running python with superuser privileges.

This the full traceback :-

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/pyautogui/__init__.py", line 152, in <module>
    from . import _pyautogui_x11 as platformModule
  File "/usr/local/lib/python3.7/site-packages/pyautogui/_pyautogui_x11.py", line 160, in <module>
    _display = Display(os.environ['DISPLAY'])
  File "/usr/local/lib/python3.7/site-packages/Xlib/display.py", line 89, in __init__
    self.display = _BaseDisplay(display)
  File "/usr/local/lib/python3.7/site-packages/Xlib/display.py", line 71, in __init__
    protocol_display.Display.__init__(self, *args, **keys)
  File "/usr/local/lib/python3.7/site-packages/Xlib/protocol/display.py", line 167, in __init__
    raise error.DisplayConnectionError(self.display_name, r.reason)
Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n

Steps to reproduce:-

  • run sudo python3 in the terminal
  • run import pyautoguiinside the python 3 shell