Ändra MIME-typer

Du ska aldrig direkt ändra XML-källfilerna som är installerade av program i katalogen <MIME>/packages. Ändra istället filen Overrides.xml. Den här filen har förträde över alla andra XML-källfiler som är installerade i samma packages-katalog. Om du är utvecklare gäller inte den här regeln. Du ska skapa en ny XML-källfil och placera den i den lämpliga katalogen <MIME>/packages (din Makefile kommer så klart att ta hand om det).

Du kan ändra MIME-databasen för alla användare på systemet eller för en specifik användare beroende på platsen för filen som du ändrar. För att ändra databasen för alla användare, gör ändringar i filen Overrides.xml i katalogen $XDG_DATA_DIRS/mime/packages. För att ändra databasen för en enda användare, gör ändring i filen Overrides.xml i katalogen $XDG_DATA_HOME/mime/packages.

Efter att ändringar har gjorts måste du alltid köra programmet update-mime-database, med katalogplatsen för MIME-databasen som första parametern.

5.4.1. Lägga till eller ändra MIME-typer

För att lägga till en eller flera MIME-typer för alla användare:

  1. Skapa eller ändra en befintlig Overrides.xml XML-källfil, som innehåller definitionerna för MIME-typerna. För mer information, se Avsnitt 5.3 ― XML-källfilerna.
  2. Placera filen Overrides.xml i katalogen /usr/share/mime/packages.
  3. Uppdatera MIME-databasen genom att köra update-mime-database med systemkontot.
    update-mime-database /usr/share/mime

Följ samma steg för att lägga till en eller flera MIME-typer för en enda användare, förutom att filen Overrides.xml ska placeras i katalogen ~/.local/share/mime/packages. Ytterligare, anropa update-mime-database med ~/.local/share/mime/packages som första parametern.

5.4.2. Verifiera ändringar

Efter att du har gjort en ändring i MIME-databasen och uppdaterat dess innehåll, kan du verifiera att ändringen har börjat gälla genom att använda programmet gnomevfs-info. Det här programmet skriver ut MIME-typen och annan användbar information om en fil.

Om du kör gnomevfs-info på en SVG-fil ger den dig utdata som visas här nedan. Du kommer att märka att standardprogramm för den här MIME-typen är eog.desktop; Vi kommer att diskutera standardprogram i Avsnitt 5.5 ― Registrera program för MIME-typer.

$ gnomevfs-info mime-diagram.svg
Name              : mime-diagram.svg
Type              : Regular
MIME type         : image/svg+xml
Default app       : eog.desktop
Size              : 14869
Blocks            : 32
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600644
Link count        : 1
UID               : 1000
GID               : 100
Access time       : Wed Feb 22 18:24:47 2006
Modification time : Wed Feb 22 18:24:42 2006
Change time       : Wed Feb 22 18:24:42 2006
Device #          : 775
Inode #           : 297252
Readable          : YES
Writable          : YES
Executable        : NO
$

Avsnitt 5.4.3 ― Exempel för application/x-newtype går igenom stegen för att skapa en ny MIME-typ och sedan verifiera ändringarna med gnomevfs-info.

5.4.3. Exempel för application/x-newtype

För att skapa (eller åsidosätta) en MIME-typ och verifiera ändringarna:

  1. Skapa en ny, tom fil i din hemkatalog kallad testing.xyz.

  2. Använd gnomevfs-info på filen för att ta reda på MIME-typen. MIME-typen för den här filen ska detekteras som text/plain därför att det inte finns några glob-mönster eller magic-regler som matchar den1.

  3. Skapa (eller ändra) filen Overrides.xml som beskrivs i Avsnitt 5.4.1 ― Lägga till eller ändra MIME-typer med innehållet angivet i Exempel 5-3.

  4. Uppdatera databasen med update-mime-database.

  5. Använd gnomevfs-info för att verifiera att din ändring har börjat gälla. Du bör se att MIME-typen för filen testing.xyz slås upp som application/x-newtype.

    $ gnomevfs-info testing.xyz | grep MIME
    MIME type         : application/x-newtype
    $
Exempel 5-3Filen Overrides.xml
<?xml version='1.0' encoding='utf-8'?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-newtype"><comment>new mime type</comment><glob pattern="*.xyz"/></mime-type>
</mime-info>
1

När inga glob-mönster eller magic-regler matchar en fil, kommer den att slås upp till MIME-typen text/plain om den innehåller textdata eller application/octet-stream för binärdata. Om filen är tom, kommer den att få standardvärdet text/plain.