无法以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论坛中发现了这篇文章。
这些是说明:
- echo $ DISPLAY#您将需要此值3行以下
- sudo -i#或“su – ”在较旧的Slackwares上
- xauth merge~external / .Xauthority#在这里用你自己的用户名而不是“外星人”
- export DISPLAY =:0.0#使用你之前见过3行的DISPLAY的值
在来到命令#3时,我收到了这个错误
xauth: file /root/.Xauthority does not exist
也许这个新信息可以带来更多亮点。
终于找到了答案。 从这个问题使用sudo运行应用程序时无法连接到X服务器尤其是这个问题尝试使用sudo或gksudo运行应用程序时出错 。
我在/etc/sudoers
的visudo
文件的末尾添加了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身份运行任何图形界面应用程序都可能导致文件损坏,尤其是在图形界面应用程序是文本编辑器时。 除了这个gksu
和gksudo
之外,在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一起工作?
唯一的选择是使用nano
或vi/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"`