错误:XDG_RUNTIME_DIR 未在环境中设置。Gtk-WARNING **:无法打开显示:

Sah*_*ora 5 gtk ssh sudo xdgutils ubuntu-14.04

我曾经用 sublime 打开文本文件,对于只读文件,我曾经这样做 : sudo sublime。但现在突然sudo sublime命令给出以下错误:

(sublime:3931): Gtk-WARNING **: cannot open display:
Run Code Online (Sandbox Code Playgroud)

sublime命令工作正常。我尝试了同样的gedit,并且发生了同样的事情,显示了 gedit 的错误:

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

我安装了gtk,试过了gksudo,还是出现同样的错误!

我在网上搜索并找到了以下方法:

  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

以上都没有奏效。

对我有用的是:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY sublime
Run Code Online (Sandbox Code Playgroud)

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

我想知道为什么我会收到这个错误,太突然了!另外,我想回到这个sudo sublime版本,因为它很容易记住。我该如何解决?

此外,我最近对系统所做的更改是:

  1. 为 Ubuntu 安装 Mac 主题:http : //www.noobslab.com/2014/04/macbuntu-1404-pack-is-released.html

  2. 安装 gksu(用于 gksudo)

帮助将不胜感激!

Nei*_*hen 3

我也有同样的问题。

我的情况的原因是sudo不继承环境变量:DISPLAY XAUTHORITY

怎么修?

对于 Ubuntu 14,sudoers通过 打开文件sudo visudo,然后粘贴:

Defaults        env_keep += "DISPLAY XAUTHORITY"
Run Code Online (Sandbox Code Playgroud)