necesitan - Registre extensiones de archivos/tipos de mime en Linux
se necesitan tipos mime adicionales ubuntu (4)
Estoy desarrollando una aplicación Linux que tiene su propio formato de archivo. Quiero que mi aplicación se abra cuando haces doble clic en esos archivos.
¿Cómo puedo registrar una extensión de archivo y asociarla a mi aplicación en Linux? Estoy buscando una forma que sea estándar (funciona con sistemas basados en GNOME y KDE) y se puede hacer de forma automática cuando mi programa se instala o se ejecuta por primera vez.
1) en Linux esta es una función de su entorno de escritorio en lugar del propio sistema operativo.
2) GNOME y KDE tienen diferentes métodos para lograr esto.
3) No hay nada que te impida hacer las dos cosas.
Hay dos partes para esto. Necesita registrar un nuevo tipo de archivo y luego crear una entrada de escritorio para su aplicación . La entrada de escritorio asocia su aplicación con su nuevo tipo de mime.
Pensé que tanto Gnome como KDE (¿tal vez solo 4+?) Usaban la especificación de información mime compartida freedesktop , pero es posible que me equivoque.
Prueba este script: necesita:
1. your application icon -> $APP = FIREFOX.png
2. your mimetype icon -> application-x-$APP = HTML.png
en el directorio actual:
#BASH SCRIPT: Register_my_new_app_and_its_extension.sh
APP="FOO"
EXT="BAR"
COMMENT="$APP''s data file"
# Create directories if missing
mkdir -p ~/.local/share/mime/packages
mkdir -p ~/.local/share/applications
# Create mime xml
echo "<?xml version=/"1.0/" encoding=/"UTF-8/"?>
<mime-info xmlns=/"http://www.freedesktop.org/standards/shared-mime-info/">
<mime-type type=/"application/x-$APP/">
<comment>$COMMENT</comment>
<icon name=/"application-x-$APP/"/>
<glob pattern=/"*.$EXT/"/>
</mime-type>
</mime-info>" > ~/.local/share/mime/packages/application-x-$APP.xml
# Create application desktop
echo "[Desktop Entry]
Name=$APP
Exec=/usr/bin/$APP %U
MimeType=application/x-$APP
Icon=$APP
Terminal=false
Type=Application
Categories=
Comment=
"> ~/.local/share/applications/$APP.desktop
# update databases for both application and mime
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime
# copy associated icons to pixmaps
cp $APP.png ~/.local/share/pixmaps
cp application-x-$APP.png ~/.local/share/pixmaps
asegúrese de que: FOO binario esté en / usr / bin (o en $ PATH)
Use xdg-utils
de freedesktop.org Portland .
Registre el ícono para el tipo MIME:
xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype
Cree un archivo de configuración ( documentación MIME compartida freedesktop) :
<?xml version="1.0"?>
<mime-info xmlns=''http://www.freedesktop.org/standards/shared-mime-info''>
<mime-type type="application/x-mytype">
<comment>A witty comment</comment>
<comment xml:lang="it">Uno Commento</comment>
<glob pattern="*.myapp"/>
</mime-type>
</mime-info>
Instala el archivo de configuración:
xdg-mime install mytype-mime.xml
Esto hace que sus archivos sean reconocidos y asociados con un ícono. xdg-mime default
se puede usar para asociar una aplicación con el tipo MIME después de que haya instalado un archivo .desktop
.