无法以root身份打开Gedit

当我运行sudo gedit /path/to/some/random/file我收到以下错误

 ** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed. Cannot open display: Run 'gedit --help' to see a full list of available command line options. 

使用gksudo无助于返回哪一个

 Cannot open display: Run 'gedit --help' to see a full list of available command line options. 

任何帮助家伙。 我需要具备此function以root身份在Gedit中打开文件。
我发现这个问题有同样的错误,但没有解决方案无法用sudo启动gedit


编辑
我在Ubuntu论坛中发现了这篇文章。
这些是说明:

  1. echo $ DISPLAY#您将需要此值3行以下
  2. sudo -i#或“su – ”在较旧的Slackwares上
  3. xauth merge~ex​​ternal / .Xauthority#在这里用你自己的用户名而不是“外星人”
  4. export DISPLAY =:0.0#使用你之前见过3行的DISPLAY的值

在来到命令#3时,我收到了这个错误
xauth: file /root/.Xauthority does not exist

也许这个新信息可以带来更多亮点。

终于找到了答案。 从这个问题使用sudo运行应用程序时无法连接到X服务器尤其是这个问题尝试使用sudo或gksudo运行应用程序时出错 。

我在/etc/sudoersvisudo文件的末尾添加了Defaults env_keep+="DISPLAY"行。

是的,我的sudo gedit回来了!

编辑

有时会再次出现同样的错误。

做了一些更多的研究,特别是这个回答https://askubuntu.com/a/137584/163331并意识到我必须为visudo文件添加更多选项。 而不是Defaults env_keep+="DISPLAY" ,我使用了这一行:

 Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS" 

以root身份运行任何图形界面应用程序都可能导致文件损坏,尤其是在图形界面应用程序是文本编辑器时。 除了这个gksugksudo之外,在Ubuntu 17.10的Wayland中不能以root身份启动图形应用程序: gksu / gksudo为什么不和Wayland一起工作? 并且已从Ubuntu 18.04及更高版本的默认Ubuntu存储库中删除了gksu包。

Nautilus Admin( nautilus-admin )是Nautilus文件管理器的简单Python扩展,它向右键单击菜单添加了一些管理操作:

  • 以管理员身份打开:在以管理员(root)权限运行的新Nautilus窗口中打开文件夹。
  • 以管理员身份编辑:在具有管理员(root)权限的Gedit窗口中打开文件。

要在所有当前支持的Ubuntu版本中安装Nautilus Admin,请打开终端并键入:

 sudo apt install nautilus-admin 

虽然有以root身份运行图形应用程序的命令,但强烈建议您使用通常从终端运行的nano文本编辑器,以root身份编辑文件。 Nano文本编辑器包含在默认的Ubuntu安装中。

Nano非常易于使用。 使用nano编辑器的说明始终位于每页的底部。 您需要知道的只有两个纳米键盘快捷键是WriteOut和Exit。 按键盘组合Ctrl + O ,然后按Enter键保存正在编辑的文件。 按键盘组合Ctrl + X退出nano。

如果您习惯以正确的方式以root身份编辑文件,那么您将减少犯错的可能性,这可能非常耗时。

对于gedit,试试这个:

 sudo -H env DISPLAY=:0 gedit 

至少在Ubuntu 17.10中,你可以这样做:

 gedit admin:///path/to/some/random/file 

系统将提示您输入密码,然后打开文件以便以root用户身份进行编辑。

我刚才有类似的问题。 我正在使用Debian Jessie并以root身份启动gedit,这条线终于工作了:

 sudo -H gedit 

我想在此页面上总结其他答案中的所有信息:

韦兰:

  • 为什么不用gksu / gksudo或启动带有sudo的图形应用程序与Wayland一起工作?

唯一的选择是使用nanovi/vim

Xorg的:

试试这个

 sudo -H env DISPLAY=:0 gedit 

如果它工作,它可能意味着你需要为sudo配置文件添加一些选项

 sudo visudo 

尝试在最后添加此行

 Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`