在Ubuntu Linux中,假设我创建了一个简单的文本文件。当我右键单击该文件时,可以选择open with other application
。它将显示recommeded applications
列表,可以打开文本文件。
我的问题是操作系统如何知道哪个应用可以打开该文件?应用程序开发人员必须做些什么才能使其成为候选人?
编辑:我还想问一下,操作系统是否以任何方式验证了这一点(开发人员已指定应用程序打开特定的文件格式);例如视频播放应用程序可以提及打开文本文件,但当用户尝试使用它时,会出现问题。
答案 0 :(得分:0)
尝试创建应用的.desktop
文件,以便在Open with other application
对话框中显示您的应用。 .desktop
文件看起来应该是这样的
[Desktop Entry]
Encoding=UTF-8
Name=<appName>
Comment= some detail about the app
Exec=<appName> %u
Terminal=true
Type=Application
Icon=/usr/share/pixmaps/<appName>.svg
Categories=Application;Utility;TextEditor;
StartupNotify=true
MimeType=text/plain;
NoDisplay=true
将其保存为~/.local/share/applications/<appName>.desktop
,应用程序将自动显示在Open with other application
上,以便选择为默认应用程序。
.desktop
文件的选项很多,但了解它们的含义非常重要。
nautilus-actions.org为创建.desktop
文件以及可以在其上使用的所有可能参数提供了非常好的指导和解释,因此如果您对创建特殊.desktop
有任何疑问文件,你可以访问该网站,看看那里的例子。
注意: - 不确定操作系统是否验证其是否为视频播放应用程序,但即使它会验证MimeType
以及该应用是否有{{1}它会失败的视频播放器,但我再也不确定了。