文件关联存储在哪里?

Modified on: Fri, 08 Jun 2018 23:03:53 +0800

Ubuntu或任何其他Linux系统如何存储文件关联?

是否有一些/etc/asscociations文件?

我知道我可以右键点击文件并通过“打开方式”进行更改,但我只是想知道它是如何在内部存储的。

作者:Flyk,Stann

最佳答案

文件管理器(默认情况下为Nautilus)使用文件的MIME类型来确定要将哪个程序打开它。
安装应用程序时,它可以指定它可以打开的MIME类型以及用于打开位于/usr/share/applications中的.desktop文件中的文件的命令。这是用于菜单,桌面快捷方式等的文件。

例如,GIMP具有以下.desktop文件:

[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;

参见MimeType字段 - 这列出了支持的MIME类型。Exec字段告诉系统使用命令gimp-2.7 %U,将'%U'替换为要打开的文件。 (注意GIMP 2.7是我从PPA安装的版本,因此高于Ubuntu存储库中的当前版本。)

安装应用程序包后,系统会将此MIME类型数据提取到一个更容易访问的数据库中,因为如果每次打开文件时都查看每个.desktop文件将花费太长时间。

这告诉系统可以 用于该MIME类型的应用程序,并在“打开方式”列表中提供应用程序。默认值在别处定义。文件/usr/share/applications/defaults.list提供系统默认值的信息。除非您另有选择,否则这些是您打开文件时使用的应用程序。


相关问答

添加新评论