如何通过编程方式确定Linux中的默认应用程序
在Linux系统中,我怎么才能知道默认的文本编辑器、终端等是什么呢?
这个会因不同的发行版而有所不同吗?
6 个回答
2
选择编辑器的顺序是这样的:首先是 $EDITOR
,然后是 editor
,最后是一些预设的控制台编辑器。在 Debian 或 Ubuntu 系统上,sensible-editor
(还有 sensible-browser
和 sensible-pager
)会帮你找到合适的编辑器,它会查看一些环境变量。类似的环境变量还有 $PAGER
、$SHELL
和 $BROWSER
。如果你想查找文件的关联程序,可以使用 xdg-open
。
3
我之前用一种比较笨的方法程序matically访问了这个列表,我知道这不是最好的方式。选项存储在一个叫做 defaults.list 的文件里(我觉得一般都是这样)。这个文件的位置不太固定,我在我的 Ubuntu 系统上找到了它,路径是 /usr/share/applications/,不过我觉得它可能还会出现在其他地方。然后我把它当作一个文本文件来处理。
1
我觉得“默认”编辑器或终端这个概念不太合理。对于编辑器来说,通常会使用一个叫做 $EDITOR
的环境变量来定义它。
在Debian及其相关系统(比如Ubuntu、Mint)中,有一些路径,比如 /usr/bin/editor
和 /usr/bin/x-terminal-emulator
,这些路径通过符号链接(在 /etc/alternatives/
中)指向某个系统的默认设置。
你可以看看 Dacav的回答