
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 Nautilus
gemäß der Entscheidung der Entwickler fest einprogrammiert.nur grundlegende Typinformationen anzeigenin der Type
Spalte 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-generic
aufgefü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).Unknown
Type
text/x-myokit
text-x-generic
Text
Type
*.so
/usr/lib
*.mo
/usr/share/locale
Unknown
AltEnter
Sie können Nautilus dazu veranlassen, etwas anderes aufzulisten, wenn Sie es generic-icon name
in Ihrer xml
Datei 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 *.mmt
aufgelistet wird, bearbeiten Sie sie wie folgt:Program
Type
x-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 type
Spalte in Nautilus
den 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 info
durch 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.