Τροποποίηση τύπων MIME

Ποτέ μην τροποποιείτε απευθείας τα πηγαία αρχεία XML που εγκαθιστούν οι εφαρμογές στον κατάλογο <MIME>/packages. Κάνετε τις τροποποιήσεις σας στο αρχείο Overrides.xml. Αυτό το αρχείο έχει προτεραιότητα έναντι όλων των υπόλοιπων αρχείων XML που είναι εγκατεστημένα στον ίδιο κατάλογο packages. Αυτός ο κανόνας δεν ισχύει αν είστε συγγραφέας εφαρμογής. Σε αυτή την περίπτωση, οφείλετε να δημιουργήσετε ένα νέο πηγαίο αρχείο XML και να το τοποθετήσετε στον κατάλληλο κατάλογο <MIME>/packages (βεβαίως, αυτό θα το αναλάβει το Makefile).

Ανάλογα με την τοποθεσία του αρχείου που θα αλλάξετε, οι αλλαγές στη βάση δεδομένων MIME μπορούν να αφορούν όλους τους χρήστες του συστήματος ή ένα μεμονωμένο χρήστη. Για να τροποποιήσετε τη βάση δεδομένων για όλους τους χρήστες, κάντε τις αλλαγές σας στο αρχείο Overrides.xml του καταλόγου $XDG_DATA_DIRS/mime/packages. Για να τροποποιήσετε τη βάση για έναν μόνο χρήστη, αλλάξτε το αρχείο Overrides.xml στον κατάλογο $XDG_DATA_HOME/mime/packages.

Μετά από οποιαδήποτε αλλαγή, πρέπει να εκτελείτε την εφαρμογή update-mime-database, χρησιμοποιώντας ως πρώτη παράμετρο την τοποθεσία του καταλόγου της βάσης δεδομένων MIME.

5.4.1. Προσθήκη ή τροποποίηση τύπων MIME

Για να προσθέσετε έναν ή περισσότερους τύπους MIME για όλους τους χρήστες:

  1. Δημιουργήστε ή τροποποιήστε ένα υπάρχον πηγαίο αρχείο XML Overrides.xml (περιέχει τους ορισμούς των τύπων MIME). Για περισσότερες πληροφορίες δείτε την Ενότητα 5.3 ― Πηγαία αρχεία XML.
  2. Τοποθετήστε το αρχείο Overrides.xml στον κατάλογο /usr/share/mime/packages.
  3. Ενημερώστε τη βάση δεδομένων MIME, εκτελώντας την εφαρμογή update-mime-database από το λογαριασμό του συστήματος.
    update-mime-database /usr/share/mime

Για να προσθέσετε έναν ή περισσότερους τύπους MIME για έναν μόνο χρήστη, ακολουθήστε τα ίδια βήματα, αλλά τοποθετήστε το αρχείο Overrides.xml στον κατάλογο ~/.local/share/mime/packages. Επιπλέον, καλέστε την εφαρμογή update-mime-database με πρώτη παράμετρο το ~/.local/share/mime/packages.

5.4.2. Επαλήθευση αλλαγών

Αφού ολοκληρώσετε τις αλλαγές στη βάση δεδομένων MIME και ανανεώσετε τα περιεχόμενά της, μπορείτε να επαληθεύσετε αν εφαρμόστηκαν οι αλλαγές, χρησιμοποιώντας την εφαρμογή gnomevfs-info. Πρόκειται για μία εφαρμογή που τυπώνει τον τύπο MIME και άλλες χρήσιμες πληροφορίες σχετικά με ένα αρχείο.

Αν εκτελέσετε το gnomevfs-infoγια ένα αρχείο SVG θα πάρετε την παρακάτω έξοδο. Προσέξτε ότι η πρεπιλεγμένη εφαρμογή για αυτόν τον τύπο MIME είναι το eog.desktop. Θα εξετάσουμε τις προεπιλεγμένες εφαρμογές στην Ενότητα 5.5 ― Καταχώρηση εφαρμογών για τύπους 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
$

Στο Ενότητα 5.4.3 ― Παράδειγμα application/x-newtype περιγράφονται όλα τα βήματα για τη δημιουργία ενός νέου τύπου MIME και την επαλήθευση των αλλαγών μέσω του gnomevfs-info.

5.4.3. Παράδειγμα application/x-newtype

Για να δημιουργήσετε (ή να παρακάμψετε) έναν τύπο MIME και να επαληθεύσετε τις αλλαγές:

  1. Δημιουργήστε ένα νέο κενό αρχείο στον αρχικό σας κατάλογο και ονομάστε το testing.xyz.

  2. Για να βρείτε τον τύπο MIME, χρησιμοποιήστε στο αρχείο την εφαρμογή gnomevfs-info. Ο τύπος MIME του συγκεκριμένου αρχείου θα πρέπει να είναι text/plain, γιατί δεν αντιστοιχεί σε κανένα μοτίβο glob ή μαγικό κανόνα1.

  3. Δημιουργήστε (ή τροποποιήστε) το αρχείο Overrides.xml, όπως περιγράφεται στην Ενότητα 5.4.1 ― Προσθήκη ή τροποποίηση τύπων MIME, και προσθέστε το περιεχόμενο που αναφέρεται στο Παράδειγμα 5-3.

  4. Ανανεώστε τη βάση δεδομένων με την εφαρμογή update-mime-database.

  5. Χρησιμοποιήστε την εφαρμογή gnomevfs-info για να επαληθεύσετε ότι εφαρμόστηκαν οι αλλαγές σας. Ο τύπος MIME για το αρχείο testing.xyz θα πρέπει να είναι application/x-newtype.

    $ gnomevfs-info testing.xyz | grep MIME
    MIME type         : application/x-newtype
    $
Παράδειγμα 5-3Αρχείο 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

Αν το αρχείο δεν αντιστοιχεί σε κανένα μοτίβο glob ή μαγικό κανόνα, τότε θα αντιστοιχισθεί στον τύπο MIME text/plain αν περιέχει δεδομένα κειμένου ή στον τύπο application/octet-stream αν περιέχει δυαδικά δεδομένα. Αν το αρχείο είναι κενό, τότε χρησιμοποιείται ως προεπιλογή ο τύπος text/plain.