Ich habe ein Shell-Skript "the_script", das ich als Standardanwendung für die Dateien mit der Erweiterung ".ext" registrieren möchte. Zu diesem Zweck habe ich eine XML-Datei geschrieben, um den MIME-Typ zu registrieren, und eine Desktop-Datei, um die Anwendung dem MIME-Typ zuzuordnen. Das Skript hat das ausführbare Bit für den Benutzer und ist im Pfad des Benutzers verfügbar.
Die XML-Datei mit dem Namen "the_script.xml" lautet wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-the-script">
<comment>A file for the script</comment>
<glob pattern="*.ext"/>
</mime-type>
</mime-info>
Dann rannte ich xdg-mime install --novendor the_script.xml
.
Die .desktop-Datei mit dem Namen "the_script.desktop" lautet wie folgt:
[Desktop Entry]
Version=1.0
Type=Application
MimeType=application/x-the-script
Name=The script that manages .ext files
Comment=Interpreter for .ext files
TryExec=the_script
Exec=the_script %f
Terminal=false
Und ich lief xdg-desktop-menu install --novendor the_script.desktop
, um die Datei zu registrieren.
Sobald beide Dateien registriert sind, werden die .ext-Dateien nicht mehr mit dem Texteditor geöffnet, aber Gnome teilt mir mit, dass für die Dateien "Eine Datei für das Skript" keine Anwendung installiert ist.
Ich habe andere Dateiformate erfolgreich bei anderen Anwendungen registriert. Die anderen Anwendungen waren kompilierte Programme, während the_script ein Shell-Skript ist. Das ist der einzige Unterschied, den ich sehen kann. Wie kann ich mein Skript mit den .ext-Dateien registrieren?
quelle
Antworten:
Wenn Sie dies tun
xdg-open foo.ext
, scheint dies von einem Terminal aus einwandfrei zu funktionieren. In Nautilus scheint es jedoch nicht zu funktionieren, es sei denn, Sie definieren Ihr Skript als Standard für das Öffnen der * .ext-Datei:Nachdem ich das getan hatte, startete das Skript von Nautilus.
quelle