Para aquellos que buscan establecer una asociación de aplicación para extensiones de archivo , NO un tipo MIME:
Aparentemente, Ubuntu / Linux mantiene esto indirectamente: * extensión de archivo -> tipos MIME * tipo MIME -> aplicaciones para abrir * Aplicaciones -> lista de tipos MIME compatibles
Para Ubuntu (18.x), estos se describen en:
extensión de archivo -> tipos MIME
Esto está en archivos en /usr/share/mime/packages/
. P.ej:
sudo touch /usr/share/mime/packages/staruml.xml
sudo cat << EOF > /usr/share/mime/packages/staruml.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/staruml-project">
<comment>StarUML project</comment>
<glob pattern="*.MDJ"/>
<glob pattern="*.mdj"/>
</mime-type>
</mime-info>
EOF
Tipo MIME -> aplicaciones para abrir
Esto es impulsado por ~/.local/share/applications/mimeapps.list
y detallado las otras respuestas.
[Default Applications]
echo 'application/staruml=staruml.desktop' >> ~/.local/share/applications/mimeapps.list
## Or, for global:
echo 'application/staruml=staruml.desktop' >> /usr/share/applications/mimeapps.list
Aplicaciones -> lista de tipos MIME compatibles
Esto es impulsado por los .desktop
archivos en /usr/share/applications/
. Ese archivo puede contener una MimeType=
entrada con una lista de tipos MIME separados por punto y coma. Por ejemplo, la aplicación EOG tiene: MimeType=image/bmp;image/gif;image/jpeg;image/jpg;...
etc.
sudo touch /usr/share/applications/staruml.desktop
sudo cat << EOF > /usr/share/applications/staruml.desktop
[Desktop Entry]
Name=StarUML
Comment=StarUML
GenericName=StarUML
Exec=/sw/prog/StarUML/StarUML-3.1.0-x86_64.AppImage %U
Icon=/sw/prog/StarUML/staruml.png
Type=Application
StartupNotify=false
Categories=Development;Programming;Modeling;UML
MimeType=application/staruml-project;
EOF
Esto lo convierte en un círculo completo. Los cambios surten efecto después de ejecutarse
sudo update-mime-database /usr/share/mime
y, para iconos,
sudo gtk-update-icon-cache /usr/share/icons/gnome -f
O puede que necesite cerrar sesión / iniciar sesión.
Entonces, deberías poder ver esto:
$ mimetype .mdj
.mdj: application/staruml-project
Referencia: https://coderwall.com/p/qjda2q/create-new-mime-type-and-assign-an-icon-to-it-in-ubuntu