无法在超级用户模式下打开GUI编辑器

Modified on: Wed, 11 Jul 2018 12:46:30 +0800

我正在尝试编辑sources.list以添加本地镜像信息。我对命令行编辑器感到不舒服,所以我尝试使用sudo mousepad /etc/apt/sources.list

我收到了以下错误报告。

No protocol specified

(mousepad:4942): Mousepad-ERROR **: Cannot open display: 

我尝试了其他几个编辑器,如gedit,kwrite等,但我得到了类似的错误报告。

No protocol specified

** (gedit:4957): WARNING **: Could not open X display
No protocol specified
Unable to init server: Could not connect: Connection refused

(gedit:4957): Gtk-WARNING **: cannot open display: :0

请指教。我对Linux的了解非常有限。

P.S。我在运行Debian Jessie的本地64位系统上。

最佳答案

您不应该以root身份运行编辑器来编辑系统文件,您应该使用sudoedit(特别是因为您已经设置了sudo)。这将创建文件的副本,您可以编辑,在您选择的编辑器中打开它,等待您完成编辑,如果您对其进行更改,则将其复制回系统文件。

更详细一点,你会运行类似

的东西

SUDO_EDITOR="gedit -w" sudoedit /etc/apt/sources.list

这将:

  • 检查您是否允许编辑该文件(根据sudo中的/etc/sudoers配置;您的内容应该已经确定);
  • /etc/apt/sources.list复制到临时文件并使其可编辑;
  • 使用临时文件
  • 启动gedit;
  • 等你关闭文件(这就是为什么我们需要-w选项);
  • 检查您是否对临时文件进行了更改,如果是,请将其复制到原始文件中。

您可以在shell的启动文件中永久设置SUDO_EDITOR例如 ~/.bashrc)。如果未定义,sudoedit也将检查VISUALEDITOR。您可以指定任何您喜欢的编辑器,只要它能够等待编辑会话完成。


相关问答

添加新评论