“select-editor” 和 “update-alternatives --config editor” 之间的区别

“select-editor” 和 “update-alternatives --config editor” 之间的区别

我正在研究 Ubuntu 如何选择默认编辑器,我注意到要设置编辑的默认编辑器crontabs,我使用while 来设置我使用的select-editor默认编辑器。有人知道这两者之间的具体区别吗?有很多文档分别解释了每一个,但我无法弄清楚两者之间的区别或为什么我必须同时设置两者。visudoupdate-alternatives --config editor

为了完整起见,我想指出我知道如何通过设置 EDITOR 和 VISUAL 环境变量来设置默认编辑器。

答案1

select-editor是每个用户的选择器...它可以帮助您选择默认的sensible-editor来自所有已安装的编辑器...它会影响文件~/.selected_editor,例如在我的系统上:

$ cat ~/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"

请参见man select-editor

选择编辑器 提供一种一致的机制,用于根据每个用户选择和存储首选的 sensible-editor。它列出系统上可用的编辑器并以交互方式提示用户选择一个。结果作为 SELECTED_EDITOR 变量存储在 ~/.selected_editor 中,该变量由 sensible-editor 命令获取和使用。SELECTED_EDITOR 变量被 VISUAL 和 EDITOR 环境变量覆盖。

update-alternatives另一方面,是一个系统范围的选择器...它可以帮助您设置默认行为,例如系统命令调用的编辑器...... visudo是这样的命令...它通过处理哪个编辑器/usr/bin/editor调用来实现...作为符号链接,例如在我的系统上:

$ ls -l /usr/bin/editor /etc/alternatives/editor
lrwxrwxrwx 1 root root  9 Jan  8  2022 /etc/alternatives/editor -> /bin/nano
lrwxrwxrwx 1 root root 24 Jan  8  2022 /usr/bin/editor -> /etc/alternatives/editor

请参见man update-alternatives

更新替代方案 创建、删除、维护并显示有关组成 Debian 替代系统的符号链接的信息。

可以同时在单个系统上安装多个具有相同或类似功能的程序。例如,许多系统会同时安装多个文本编辑器。这为系统用户提供了选择,允许每个用户根据需要使用不同的编辑器,但如果用户未指定特定的首选项,程序将很难为要调用的编辑器做出良好的选择。

相关内容