尝试以root身份运行nautilus时出现“错误:XDG_RUNTIME_DIR未在环境中设置。”

我试图以root身份运行nautilus但是当我从终端运行“sudo nautilus”时,我收到以下错误:

错误:未在环境中设置XDG_RUNTIME_DIR。

(nautilus:9341):Gtk-WARNING **:无法打开显示:

当我尝试将nautilus作为非root运行时,不会发生此问题。 我使用的是ubuntu 14.04。 有谁知道我怎么解决这个问题?

当您以另一个用户身份运行软件时,您实际上正在启动新的最小且隔离的环境,该环境不会执行某些“过多”变量(其中包括负责注入库或设置某些特权的变量)。 用以下内容替换你的sudo nautilus调用 – 它将在当前会话中进行用户特定的x服务器设置:

 pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus 

这是一次性低级别解决方案,但它可以在配置错误的计算机上运行。 如果您想永久“修复您的sudo ”,您需要找到环境配置的问题并按照其他答案中的说明进行更正。

我在Ubuntu 14.04上也有同样的问题。 按下打开终端,

Ctrl + Alt + T.

然后是sudo visudo

换线

默认值env_keep =“https_proxy”

默认值env_keep + =“https_proxy”

它像魅力一样工作。