Since I installed Gnome 2.6 in my Debian testing laptop, nautilus has refused to work with certain file types. They are classified as application/octet-stream and not application choices are offered.
Even if I go to Applications | Desktop Preferences | Advanced | File types and programs
and set up the mime types, extensions and applications, nautilus couldn’t care less. These settings are almost ignored.
I’m not an expert on these matters, but it has something to do with the content-sniffing nautilus does to determine the file type.
It took a while to figure out, but I have found the way to add file types to the system. It is described at www.freedesktop.org.
First one has to create an XML file for the type or types to be added. The format is quite simple, and here is one for the Glabels application for printing address labels:
<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-glabels"> <comment xml:lang="en">Glabels document</comment> <glob pattern="*.glabels" /> </mime-type> </mime-info>
Notice the mime-type, the description and the glob-pattern. There’s also a way of specifying magic patterns for content sniffing.
It is possible to have several “mime-type” sections in the same file.
The XML file is placed in /usr/share/mime/packages/
, in this case I called it glabels.xml
.
When this file is in place, all that remains is to run the command
update-mime-database /usr/share/mime
which will populate /usr/share/mime with separate files for each mime type, including the new types.
All that remains is to restart nautilus by running nautilus --quit
from a shell prompt, and the new mime-type should be recognised.
UPDATE 2004-07-17: It appears you can have your private mime-files in ~/.local/share/mime
. Create, e.g., ~/.local/share/mime/packages/local.xml
in the format described above, with one or more ‘mime-type’ entries, and run the command
update-mime-database ~/.local/share/mime/
as yourself. It will then populate ~/.local/share/mime/
with all the necessary files for nautilus to recognise your new mime-types, after a restart, that is.
Leave a Reply