无法以 root 身份打开 Gedit

无法以 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.  

大家帮帮忙吧。我需要有这个功能才能以 root 身份在 Gedit 中打开文件。
我发现这个问题有同样的错误,但没有解决方案无法使用 sudo 启动 gedit


编辑
我发现这个帖子Ubuntu 论坛
以下是说明:

  1. echo $DISPLAY # 你将需要下面 3 行中的这个值
  2. sudo -i # 或旧版 Slackwares 上的“su -”
  3. xauth merge ~alien/.Xauthority # 在这里使用你自己的用户名而不是“alien”
  4. export DISPLAY=:0.0 # 使用之前 3 行中看到的 DISPLAY 值

当我执行命令#3时,出现了这个错误
xauth: file /root/.Xauthority does not exist

也许这个新信息可以提供更多信息。

答案1

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

我将该行添加到文件Defaults env_keep+="DISPLAY"末尾。 visudo/etc/sudoers

耶,我的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"

答案2

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

Nautilus 管理员 (nautilus 管理员)是 Nautilus 文件管理器的一个简单 Python 扩展,它在右键菜单中添加了一些管理操作:

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

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

sudo apt install nautilus-admin  

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

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

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

答案3

至少在 Ubuntu 17.10 中,你可以执行以下操作:

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

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

答案4

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

韦兰:

唯一的选择似乎是使用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"`

相关内容