Woher erhält Nautilus seine Dateitypbeschreibung

Woher erhält Nautilus seine Dateitypbeschreibung

Ich habe einige Shared-MIME-Info-Dateien für benutzerdefinierte Dateitypen erstellt und registriert. Zum Beispiel in

~/.local/share/mime/packages

Ich habe Dateien hinzugefügt wie

x-myokit.xml

enthält beispielsweise eine MIME-Typ-Beschreibung

<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/x-myokit">
    <comment xml:lang="en">Myokit model definition</comment>
    <glob pattern="*.mmt"/>
  </mime-type>
</mime-info>

Nautilus erkennt meine Dateien jetzt, zeigt den Dateityp aber immer noch als „Unbekannt“ an. Wie kann ich dafür sorgen, dass in dieser Spalte etwas Nützlicheres angezeigt wird?

Antwort1

Dies wurde Nautilusgemäß der Entscheidung der Entwickler fest einprogrammiert.nur grundlegende Typinformationen anzeigenin der TypeSpalte standardmäßig, so dass die Sortierung nach Typ Typfamilien gruppieren würde.
Die Basistypen sind definiert innautilus-datei.cbasierend auf generischen (symbolischen) Symbolnamen 1 :

struct {
        const char *icon_name;
        const char *display_name;
} mime_type_map[] = {
    { "application-x-executable", N_("Program") },
    { "audio-x-generic", N_("Audio") },
    { "font-x-generic", N_("Font") },
    { "image-x-generic", N_("Image") },
    { "package-x-generic", N_("Archive") },
    { "text-html", N_("Markup") },
    { "text-x-generic", N_("Text") },
    { "text-x-generic-template", N_("Text") },
    { "text-x-script", N_("Program") },
    { "video-x-generic", N_("Video") },
    { "x-office-address-book", N_("Contacts") },
    { "x-office-calendar", N_("Calendar") },
    { "x-office-document", N_("Document") },
    { "x-office-presentation", N_("Presentation") },
    { "x-office-spreadsheet", N_("Spreadsheet") },
};

Typen, die nicht in die oben genannten Kategorien fallen, werden wie folgt angezeigt Unknown:

if (basic_type == NULL) {
    basic_type = g_strdup (_("Unknown"));

Als Ergebnis wird eine Datei mit dem MIME-Typ application/x-myokit(mit einem entsprechenden symbolischen Symbolnamen ) als in der Spalte application-x-genericaufgeführt , während eine Datei mit dem MIME-Typ (mit einem entsprechenden symbolischen Symbolnamen ) als in der Spalte aufgeführt wird (siehe auch verschiedene Systemdateien wie „ Dateien unter“ oder „Dateien in“ – sie werden alle als aufgeführt, aber wenn Sie eine davon auswählen und auf „+“ drücken, erhalten Sie ausführliche, genaue Informationen).UnknownTypetext/x-myokittext-x-genericTextType*.so/usr/lib*.mo/usr/share/localeUnknownAltEnter


Sie können Nautilus dazu veranlassen, etwas anderes aufzulisten, wenn Sie es generic-icon namein Ihrer xmlDatei verwenden. Ihre Optionen sind jedoch auf die oben genannten Kategorien beschränkt. Wenn Sie beispielsweise möchten, dass jede Ihrer Dateien wie in der Spalte *.mmtaufgelistet wird, bearbeiten Sie sie wie folgt:ProgramTypex-myokit.xml

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="application/x-myokit">
        <comment>Myokit model definition</comment>
        <generic-icon name="text-x-script"/>
        <glob pattern="*.mmt"/>
    </mime-type>
</mime-info>

Vergessen Sie nicht, die MIME-Datenbank mit folgendem zu aktualisieren:

update-mime-database ~/.local/share/mime

Wenn Sie weitere nützliche Informationen benötigen, können Sie die MIME typeSpalte in Nautilusden Einstellungen aktivieren/markieren (oder mit dconf/ gsettings: hinzufügen mime_type) org.gnome.nautilus.list-view default-visible-columns.

1: Ausführen gio info -a standard::symbolic-icon file, um die entsprechenden symbolischen Symbolnamen anzuzeigen (auf älteren Setups gio infodurch ersetzen gvfs-info)

Antwort2

Ich glaube, Nautilus erhält die Dateibeschreibung vom Speicherort /usr/share/applications. Weitere nützliche Informationen finden Sie in meiner anderen AntwortHier. Insbesondere,DasDie Antwort in „Ask Ubuntu“ erläutert im Detail, wie die Dateizuordnungen gespeichert werden.

Der Dateimanager (standardmäßig Nautilus) verwendet den MIME-Typ einer Datei, um zu bestimmen, mit welchem ​​Programm sie geöffnet werden soll. Wenn eine Anwendung installiert ist, kann sie angeben, welche MIME-Typen sie öffnen kann und welchen Befehl sie zum Öffnen der Dateien in der .desktop-Datei verwenden soll, die in abgelegt wird /usr/share/applications. Dies ist die Datei, die für Menüs, Desktopverknüpfungen usw. verwendet wird.

verwandte Informationen