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

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

我试图编辑我的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

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

答案1

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

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

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

这会:

  • 检查您是否有权编辑该文件(根据sudo中的配置/etc/sudoers;您的应该已经可以了);
  • 复制/etc/apt/sources.list到临时文件并使其可编辑;
  • gedit从临时文件开始;
  • 等待您关闭文件(这就是我们需要该-w选项的原因);
  • 检查是否对临时文件进行了更改,如果是,请将其复制到原始文件上。

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

答案2

输入sudo apt edit-sources以在 nano 中打开源列表。

相关内容