如何将visudo设置为使用与Fedora上的默认编辑器不同的编辑器?


28

当一个人运行visudo时,Fedora 14默认使用vi。有没有办法将其更改为其他内容?

Answers:


44

Defaults editor=/path/to/editor在sudoers文件中添加将使visudo使用指定的编辑器进行更改。

此外,如果您的sudo软件包是使用--with-env-editor构建的(在某些Linux发行版中是默认设置),则还可以通过执行来设置EDITOR环境变量export EDITOR=/path/to/editor。在命令行上执行此操作将在终止外壳程序会话后立即还原,将变量设置为〜/ .bashrc或/ etc / profile将导致更改继续存在。


您能否提供您执行的命令?
Tok

@Tshepang-您还可以在sudoers文件中设置Defaults editor = / usr / bin / nano以指定编辑器。此时,我假设您希望使用前面的注释中指定的nano。
Tok

@Tshepang-是的,但是,这很可能是使用--with-env-editor构建软件包的产物。
Tok

1
@Tok:不是在什么系统做visudo的荣誉$VISUAL$EDITOR
吉尔(Gilles)“所以,别再邪恶了”,2010年

3
@Gilles-根据我的阅读,Ubuntu最近更改了其sudo软件包的build参数,使其不包括在内--with-env-editor,这在Internet内存中也是如此。另外,sudo软件包在一段时间前更改了默认设置,以使用vi作为默认编辑器,我相信这与环境变量接受行为的变化是一致的。我目前尚不清楚这些事件如何,何时或是否相互关联的时间表。
Tok

11

下列

  • 适用于使用的发行版alternatives(最初仅是Debian及其fork,但现在是大多数主要发行版,IIUC)。
  • 优点是

    1. 您无需sudoers先使用其默认编辑器进行编辑
    2. 它的工作原理,即使包= sudo没有已建成具有--with-env-editor

从命令行:

  1. sudo update-alternatives --config editor
  2. 从(文本模式)菜单中选择所需的编辑器。如果没有找到所需的编辑器,则可能需要安装它。取消,然后重复。

sudo visudo 现在应该打开您选择的编辑器。


7

想要调用编辑器的普通unix程序将运行名称在EDITORor或VISUAL环境变量中的程序,如果未设置该变量,则为系统相关的默认值。许多但不是全部程序都检查EDITORVISUAL;区别已经过时了(一旦您将EDITOR在电传打字机和VISUAL“玻璃”终端上运行…),因此应将两者设置为相同的值。关于变量的内容是否应为可执行文件的完整路径,在中查找的可执行文件名称$PATH或外壳程序片段,存在一些分歧,因此您应坚持不包含任何外壳程序元字符的可执行文件的路径。传统上未设置任何变量时的系统默认值vi,尽管有些发行版本将其更改为对新手更友好的编辑器,例如nano

visudo同时检查VISUALEDITOR(可以将其编译出来,以防止使用发行人不信任其安全性的编辑器来阻止root用户,但即使OpenBSD也不能这样做)。


3

这些步骤使我可以在Ubuntu 12.04上将编辑器设置为vi for visudo,它们可能适用于大多数发行版:

发出命令:

sudo visudo

这将在nano中打开sudoers文件。在顶部附近,您将看到以下行:

Defaults    env_reset

在上面的行下面添加以下行:

Defaults    editor=/usr/bin/vi

保存文件并退出。以默认用户的身份重新打开visudo:

sudo visudo

现在,sudoers文件将在VI中打开。


2

visudoEDITOR例如,使用变量。

sudo EDITOR=/path/to/editor visudo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.