I have a shell script "the_script" that I would like to register as the default application for the files with the extension ".ext". For this purpose, I have written an xml file to register the mime type, and a .desktop file to associate the application with the mime type. The script has the executable bit for the user and is available in the user's path.
The xml file, named "the_script.xml" is as follows:
<?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>
Then I ran
xdg-mime install --novendor the_script.xml.
The .desktop file, named "the_script.desktop" is as follows:
[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
And I ran
xdg-desktop-menu install --novendor the_script.desktop to register the file.
Once that both files are registered, the .ext files do not open with the text editor any more but Gnome tells me that there is no installed application for the files "A file for the script".
I have successfully registered other file formats with other applications. The other applications were compiled programs while the_script is a shell script. That is the only difference I can see. How can I register my script with the .ext files?