我尝试在ubuntu-server 14.04上执行以下行:
$ sudo gedit /usr/local/svn/passwd-team
我收到此错误:
error: XDG_RUNTIME_DIR not set in the environment.
(gedit: 11805): Gtk-WARNING **: can not open display:
我用Google搜索帮助,看到我必须写:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit
然后我收到以下消息:
=== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authenticating is needed to run '/usr/bin/env' as the super user
Authenticating as: student,,, (student)
Password:
no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory
=== AUTHENTICATING COMPLETE ===
error: XDG_RUNTIME_DIR not set in the environment.
7
(gedit: 11807): Gtk-WARNING **: can not open display:
现在怎样?我只想编辑passwd-team文件。请指导我。 非常感谢, Orian。
编辑: 我使用nano来编辑该文件,但错误仍然存在。
答案 0 :(得分:3)
在我ssh到任何其他用户后使用gedit时遇到类似问题。这可能是由于缺少权限。
请尝试以下方法: -
从当前用户打开一个新终端。 输入
sudo -i
这会提示输入root密码。输入,然后您就可以使用root权限进行访问。
然后尝试Gedit您要编辑的文件。如果您需要使用su为其他用户执行此操作,请在执行上述步骤后执行
su <username>
现在尝试gedit任何文件。适合我。
答案 1 :(得分:1)
我遇到了同样的问题。在我的情况下,我在下面运行命令:
sudo visudo
在打开的文件中,我删除了最后一行(env = http ...)并保存了文件。 然后一切正常。
答案 2 :(得分:0)
您的解释显示,您没有使用root权限运行命令,因为消息显示为&#34;需要进行身份验证才能运行&#39; / usr / bin / env&#39;作为超级用户&#34;
尝试将其作为
运行sudo pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit
然后屏幕要求输入root密码,输入你的密码就可以了。
答案 3 :(得分:0)
运行以下命令:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit /usr/local/svn/passwd-team
在密码字段中输入您的用户帐户密码。
<强>解释强>
当您将gedit作为另一个用户(在本例中为root)运行时,您实际上正在启动新的最小且隔离的环境,该环境不会执行某些“过多”变量(其中包括负责注入库或设置某些变量的变量)权限)。上面的命令导致从当前会话进行用户特定的X服务器设置。
<强>参考文献:强>