Fedora 14 在运行 visudo 时默认使用 vi。有没有办法将其更改为其他内容?
Tok*_*Tok 54
添加Defaults editor=/path/to/editor
sudoers 文件将导致 visudo 使用指定的编辑器进行更改。
此外,如果您的 sudo 包是使用 --with-env-editor 构建的,这是某些 Linux 发行版的默认设置,您还可以通过执行 来设置 EDITOR 环境变量export EDITOR=/path/to/editor
。在命令行上执行,这将在该 shell 会话终止后立即恢复,在 ~/.bashrc 或 /etc/profile 中设置变量将导致更改持续存在。
Tom*_*che 15
下列
alternatives
(最初只是 Debian 及其分支,但现在大多数主要发行版,IIUC)。有这样的优势
sudoers
先使用其默认编辑器进行编辑sudo
已没有已建成具有--with-env-editor
从命令行:
sudo update-alternatives --config editor
sudo visudo
现在应该打开您选择的编辑器。
想要调用编辑器的普通 unix 程序将运行名称在EDITOR
或VISUAL
环境变量中的程序,如果未设置该变量,则为依赖于系统的默认值。许多(但不是全部)程序同时检查EDITOR
和VISUAL
;这种区别早已过时(一旦您EDITOR
在电传打字机和VISUAL
“玻璃”终端上运行......),因此您应该将两者设置为相同的值。关于变量的内容应该是可执行文件的完整路径、在 中查找的可执行文件名称$PATH
还是 shell 片段存在一些分歧,因此您应该坚持使用不包含任何 shell 元字符的可执行文件的路径。当两个变量都没有设置时的系统默认值传统上是vi
,尽管一些发行版已将其更改为对新手更友好的编辑器,例如nano
.
visudo
检查VISUAL
和EDITOR
(这可以编译出来,大概是为了劝阻 root 用户不要使用发行版制造商不信任其安全性的编辑器,但即使 OpenBSD 也不这样做)。
小智 8
visudo
EDITOR
例如,使用变量。
sudo EDITOR=/path/to/editor visudo
Run Code Online (Sandbox Code Playgroud)
这些步骤让我在 Ubuntu 12.04 上将 visudo 的编辑器设置为 vi,它们可能适用于其他发行版:
发出命令:
sudo visudo
Run Code Online (Sandbox Code Playgroud)
这将打开 nano 中的 sudoers 文件。在顶部附近,您将看到此行:
Defaults env_reset
Run Code Online (Sandbox Code Playgroud)
在上述行下方添加以下行:
Defaults editor=/usr/bin/vi
Run Code Online (Sandbox Code Playgroud)
保存文件并退出。以默认用户身份重新打开 visudo:
sudo visudo
Run Code Online (Sandbox Code Playgroud)
sudoers 文件现在在 VI 中打开。
归档时间: |
|
查看次数: |
56457 次 |
最近记录: |