Modifica dei tipi MIME
Non si dovrebbe per alcun motivo modificare direttamente i file sorgente XML che sono installati nella directory <MIME>/packages dalle applicazioni. Piuttosto è possibile modificare il file Overrides.xml. Questo file ha la precedenza su tutti gli altri file sorgente XML installati nella stessa directory packages. Questa regola non si applica agli autori delle applicazioni: gli autori dovrebbero creare un nuovo file sorgente XML e posizionarlo nella opportuna directory <MIME>/packages (per mezzo del proprio Makefile).
È possibile modificare il database MIME per tutti gli utenti del sistema o per un particolare utente in base alla posizione del file che si cambia. Per modificare il database per tutti gli utenti, apportare i cambiamenti al file Overrides.xml nella directory $XDG_DATA_DIRS/mime/packages. Per modificare il database per un singolo utente, apportare i cambiamenti al file Overrides.xml nella directory $XDG_DATA_HOME/mime/packages.
Dopo aver apportato i cambiamenti, è sempre necessario eseguire l'applicazione update-mime-database, con la directory in cui è posizionato il database MIME come primo parametro.
- 5.4.1. Aggiunta e modifica dei tipi MIME
- 5.4.2. Verifica dei cambiamenti
- 5.4.3. Esempio application/x-newtype
5.4.1. Aggiunta e modifica dei tipi MIME
Per aggiungere uno o più tipi MIME per tutti gli utenti:
- Creare o modificare un file sorgente XML Overrides.xml, contenente le definizioni per i tipi MIME. Per maggiori informazioni, consultare Sezione 5.3 - I file sorgente XML.
- Posizionare il file Overrides.xml nella directory /usr/share/mime/packages.
-
Aggiornare il database MIME eseguendo update-mime-database usando l'account di sistema.
update-mime-database /usr/share/mime
Per aggiungere uno o più tipi MIME per un singolo utente, seguire la stessa procedura, provvedendo però a posizionare il file Overrides.xml nella directory ~/.local/share/mime/packages. In aggiunta, eseguire update-mime-database con ~/.local/share/mime/packages come primo parametro.
5.4.2. Verifica dei cambiamenti
Dopo aver apportato un cambiamento al database MIME e aver aggiornato il suo contenuto, è possibile verificare se il cambiamento abbia avuto effetto usando l'applicazione gnomevfs-info. Questa applicazione stampa il tipo MIME ed altre informazioni utili su un file.
Eseguendo gnomevfs-info su un file SVG viene fornito l'output mostrato qui sotto. Si può notare che l'applicazione predefinita per questo tipo MIME è eog.desktop; le applicazioni predefinite sono discusse in Sezione 5.5 - Registrazione di applicazioni per tipi MIME.
$ 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 $
In Sezione 5.4.3 - Esempio application/x-newtype è spiegata passo passo la creazione di un nuovo tipo MIME e la verifica dei cambiamenti usando gnomevfs-info.
5.4.3. Esempio application/x-newtype
Per creare (o sovrapporsi a) un tipo MIME e verificare i cambiamenti:
-
Creare nella propria directory home un nuovo file vuoto dal nome testing.xyz.
-
Usare gnomevfs-info sul file per individuare il tipo MIME. Il tipo MIME per questo file dovrebbe essere individuato come text/plain poiché non vi è alcun modello di glob o regola magic che ha corrispondenza col file1.
-
Creare (o modificare) il file Overrides.xml come descritto in Sezione 5.4.1 - Aggiunta e modifica dei tipi MIME con il contenuto fornito in Esempio 5-3.
-
Aggiornare il database usando update-mime-database.
-
Usare gnomevfs-info per verificare che i cambiamenti apportati abbiano avuto effetto. Si dovrebbe leggere che il tipo MIME per il file testing.xyz è application/x-newtype.
$ gnomevfs-info testing.xyz | grep MIME MIME type : application/x-newtype $
Quando nessun modello di glog o regola magic ha corrispondeza con un file, tale file viene risolto nel tipo MIME text/plain se contiene dati di testo o application/octet-stream per dati binari. Se il file è vuoto, allora il valore predefinito è text/plain.