error: XDG_RUNTIME_DIR not set in the environment. Gtk-WARNING **: cannot open display:

Sahil Arora picture Sahil Arora · Oct 17, 2015 · Viewed 51k times · Source

I used to open text files with sublime, and for Read-only files, I used to do : sudo sublime. But now just suddenly the sudo sublime command gives the following error :

(sublime:3931): Gtk-WARNING **: cannot open display:

while sublime command is working fine. I tried the same with gedit, and the same thing happened, with the error with gedit being shown :

error: XDG_RUNTIME_DIR not set in the environment.
(gedit:3933): Gtk-WARNING **: cannot open display: 

I installed gtk, and tried gksudo, still got the same error!

I searched the web and found these ways :

  1. xhost +localhost : https://askubuntu.com/questions/614387/gksu-gtk-warning-cannot-open-display-0
  2. export DISPLAY=:0.0 :
  3. ssh username@hostname -X
  4. ssh username@hostname -Y
  5. https://superuser.com/questions/310197/how-do-i-fix-a-cannot-open-display-error-when-opening-an-x-program-after-sshi

None of the above worked.

What worked out for me was :

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY sublime

From here : https://askubuntu.com/questions/456689/error-xdg-runtime-dir-not-set-in-the-environment-when-attempting-to-run-naut

I want to know why exactly am I getting this error, that too suddenly! Also, I want to get back to the sudo sublime version, since it is easy to remember. How can I fix that?

Also, the recent changes I did to the system were :

  1. Installed Mac theme for Ubuntu : http://www.noobslab.com/2014/04/macbuntu-1404-pack-is-released.html

  2. Installed gksu(for gksudo)

Help would be highly appreciated!

Answer

NeilShen picture NeilShen · Feb 28, 2016

I have the same problem.

The reason in my situation is that sudo does NOT inherit environment variables: DISPLAY XAUTHORITY.

HOW TO FIX?

For Ubuntu 14, open sudoers file via sudo visudo, then paste:

Defaults        env_keep += "DISPLAY XAUTHORITY"