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\nSteps to reproduce:-
- run
sudo python3in the terminal - run
import pyautoguiinside the python 3 shell
Source: asweigart/pyautogui