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 :
xhost +localhost: https://askubuntu.com/questions/614387/gksu-gtk-warning-cannot-open-display-0export DISPLAY=:0.0:ssh username@hostname -Xssh username@hostname -Y- 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
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 :
Installed Mac theme for Ubuntu : http://www.noobslab.com/2014/04/macbuntu-1404-pack-is-released.html
Installed gksu(for gksudo)
Help would be highly appreciated!
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"
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.
I also had the same problem on Ubuntu 14.04. It was caused while following another answer. Open terminal by pressing,
Ctrl+ Alt + T
then $ sudo visudo
change
Defaults env_keep="https_proxy"
to
Defaults env_keep += "https_proxy"
It worked for me.
If you see XDG_RUNTIME_DIR in the output of env as a regular user, then all you probably need to do is use the -E switch to preserve the environment.
来源:https://stackoverflow.com/questions/33187159/error-xdg-runtime-dir-not-set-in-the-environment-gtk-warning-cannot-open-d