Nautilus 究竟如何打开文件?

Nautilus 究竟如何打开文件?

我出于好奇问这个问题,想知道当我在文件浏览器(比如 Nautilus)中双击文件时“幕后”发生了什么。具体来说,可执行文件使用哪些参数执行?.desktop 文件在哪里发挥作用,Nautilus 如何发送文件名?

有一次,Okular 打开了同一个文件的多个实例,我不得不编写一个 shell 脚本,但由于文件名传递不正确,脚本经常会失败。(文件名中的空格会转换为 HTML %20 字符,我不得不花很多时间弄清楚文件名是如何传递的。)

答案1

有两个目录包含.desctop文件:(/usr/share/applications/所有用户的全局列表)和~/.local/share/applications/(特定用户)。两个目录都包含文件类型关联列表(defaults.listmimeapps.list相应)。

单击某个文件时,Nautilus 会找到相应的.desctop文件并启动您的程序。每个.desctop文件都包含Exec指定命令行(程序及其参数)的键。请参阅这个文件了解有关Exec密钥的详细信息。

如果.desctop文件指定了没有完整路径的程序,则会在您的 上查找$PATH。在默认安装中,$PATH通常包括以下目录:/usr/local/sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin

相关内容