无法以 root 身份打开 Gedit

Par*_*rto 16 gedit sudo

当我运行时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.  
Run Code Online (Sandbox Code Playgroud)

使用gksudo也无济于事

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  
Run Code Online (Sandbox Code Playgroud)

任何帮助家伙。我需要有这种能力以 root 身份在 Gedit 中打开文件。
我发现这个问题有同样的错误,但没有解决方案Unable to launch gedit with sudo


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

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

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

也许这个新信息可以揭示更多信息。

Par*_*rto 17

终于找到了答案。从这个问题Cannot connect to X Server when running app with sudo,尤其是这个问题Error when try to run an app with sudo or 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"
Run Code Online (Sandbox Code Playgroud)


kar*_*rel 11

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

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

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

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

sudo apt install nautilus-admin  
Run Code Online (Sandbox Code Playgroud)

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

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

如果您养成以正确方式以 root 身份编辑文件的习惯,您将减少犯错误的可能性,而这些错误可能需要花费大量时间来纠正。

  • `nano` 编辑器 +1。任何人都可以找到更易于操作的最佳编辑器之一。 (2认同)
  • 这是一个很好的建议,但这不是答案。Linux 人喜欢终端,但是 GUI 非常适合复杂的任务,并且具有更好的 UX。 (2认同)

Gun*_*son 5

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

gedit admin:///path/to/some/random/file
Run Code Online (Sandbox Code Playgroud)

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


归档时间:

查看次数:

77238 次

最近记录:

6 年,4 月 前