Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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!

like image 957
Sahil Arora Avatar asked Oct 17 '15 13:10

Sahil Arora


2 Answers

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"
like image 192
NeilShen Avatar answered Sep 30 '22 18:09

NeilShen


Had same problem. My fault that i followed another answer and changed file sudoers with next string:

Defaults        env_keep="https_proxy"

But i should have added that:

Defaults        env_keep += "https_proxy"

First string overrides existing list.

like image 20
Lonedone Avatar answered Sep 30 '22 18:09

Lonedone