El administrador de archivos (Nautilus, por defecto) usa el tipo MIME de un archivo para determinar con qué programa abrirlo. Cuando se instala una aplicación, puede especificar qué tipos de MIME puede abrir y el comando que se usará para abrir los archivos en el archivo .desktop que se coloca /usr/share/applications
. Este es el archivo utilizado para menús, accesos directos de escritorio, etc.
Por ejemplo, GIMP tiene el siguiente archivo .desktop:
[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;
Vea el MimeType
campo: esto enumera los tipos MIME compatibles. El Exec
campo le dice al sistema que use el comando gimp-2.7 %U
, reemplazando '% U' con los archivos para abrir. (Tenga en cuenta que GIMP 2.7 es una versión que he instalado desde un PPA, por lo que es superior a la versión actual en los repositorios de Ubuntu).
Cuando se instala el paquete de la aplicación, el sistema extrae estos datos de tipo MIME en una base de datos más fácilmente accesible porque buscar en cada archivo .desktop tomaría demasiado tiempo si se realiza cada vez que se abre un archivo.
Esto le dice al sistema qué aplicaciones se pueden usar para ese tipo MIME y proporciona las aplicaciones en la lista 'Abrir con'. El valor predeterminado se define en otra parte. El archivo /usr/share/applications/defaults.list
proporciona la información de los valores predeterminados del sistema. A menos que elija lo contrario, estas son las aplicaciones utilizadas cuando 'Abre' un archivo.
/usr/share/applications
.desktop
archivos, ¿hay un comando para volver a crear esa base de datos MIME para ver nuevas asociaciones en acción?sudo update-desktop-database
Ver jarrpa.net/2011/10/28/…/usr/local/share/applications
. Creo que GTK también mira allí, por defecto. Lo hace en mi sistema, pero se ha actualizado (no reinstalado) desde Ubuntu 7.04 más o menos.Para complementar la excelente respuesta de dv3500ea, me gustaría agregar información sobre lo que sucede cuando cambia sus asociaciones.
Mientras que defaults.list (que puede encontrar escribiendo 'localizar defaults.list') proporciona la lista de aplicaciones asociadas con cada tipo MIME, las personalizaciones que realice se almacenan en su directorio de inicio, en ~ / .local / compartir / aplicaciones / mimeapps.list. Entonces, si agrega o elimina asociaciones, o cambia la asociación predeterminada, este archivo se actualiza.
La Guía de administración del sistema de escritorio GNOME en http://library.gnome.org/admin/system-admin-guide/stable/ no parece discutir mimeapps.list, pero encontré la siguiente descripción en http: //live.gnome .org / SysAdminGuideUpdate :
fuente
mimeapps.list
entradas en el anulandefaults.list
.~/.local/share/applications/mimeapps.list
, y ejecutar procesos como pcmanfm recogió los cambios sin reiniciar. (mplayer.desktop solo ejecuta mplayer. Supongo que tenía uno instalado en una vieja instalación de mplayer en / usr / local. IDK siMimeType=list;
era necesario o no.mimeapps.list
puede estar en cualquier lugar en la siguiente ruta de búsqueda: specifications.freedesktop.org/mime-apps-spec/...Descubrí que en mi sistema (Debian Jessie) también hay una
~/.config/mimeapps.list
asociación que creé accidentalmente para abrir un tipo de archivo específico con gedit. Ninguna de las formas estándar de corregir esto (configuración de aplicación predeterminada, Thunar's open with property) lo reflejaba, pero gedit era la aplicación predeterminada.Pude eliminar la línea
~/.config/mimeapps.list
y ahora la aplicación correcta abre el archivo.fuente
~/.config/mimeapps.list
.mimeapps.list
puede estar en cualquier lugar en la siguiente ruta de búsqueda: specifications.freedesktop.org/mime-apps-spec/...Encontré este enlace sobre la asociación predeterminada, podría ser útil. https://wiki.archlinux.org/index.php/Default_Applications
for global association:
por asociación de usuarios:
La sintaxis es la siguiente:
La sección [Asociaciones agregadas] se utiliza para especificar aplicaciones preferidas (predeterminadas) en preferencia decreciente. lo que significa que desktopfile1 es el más preferido y desktopfileN es el menos preferido.
La sección [Asociaciones eliminadas] se utiliza para eliminar explícitamente cualquier asociación heredada anteriormente.
fuente
/usr/share/applications/mimeapps.list
no existe.mimeapps.desktop
condefaults.desktop
Pude establecer una asociación como esta:
También puede eliminar asociaciones y hacer otras cosas:
man xdg-mime
No necesitaba correr
sudo update-desktop-database
.fuente
Crear un archivo
truecrypt.desktop
en~/.local/share/applications
las siguientes líneas:luego edite el archivo
~/.local/share/applications/mimeapps.list
y agregue la siguiente línea:Descubrí el tipo mime de Truecrypt siguiendo este comando:
fuente
mimeapps.list
ruta de búsquedaOtros han mencionado este archivo, pero ninguno ha explicado su ubicación con precisión.
El estándar freedesktop.org dice en https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html :
y luego los valores predeterminados para esas variables de entorno se dan en https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html :
$XDG_DATA_HOME
:$HOME/.local/share
$XDG_CONFIG_HOME
:$HOME/.config
$XDG_DATA_DIRS
: ninguno, añadido aXDG_DATA_HOME
$XDG_CONFIG_DIRS
: ninguno, añadido aXDG_CONFIG_HOME
Es posible que las versiones anteriores de Ubuntu no funcionen
~/.config
, así que asegúrese de intentarlo~/.local/share
también.Comandos como:
editará automáticamente esos archivos.
fuente
Para todos los usuarios:
Cada usuario tiene un archivo de configuración para anular estos valores predeterminados:
consulte también https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html para conocer los lugares que podrían usarse para anular los valores predeterminados.
Debe conocer el tipo mime del archivo que desea cambiar su asociación.
Además, todas las asociaciones se pueden manejar y cambiar en la línea de comandos usando:
fuente
Freedesktop.org (anteriormente llamado X Desktop Group, por lo tanto, la abreviatura "XDG") es el grupo que actualmente maneja estándares X como este ( obtenga más información en Wikipedia ).
La respuesta de warvariuc ya menciona el uso de xdg-mime como:
Después de mucho jugar con editores de imágenes y espectadores, terminé con diferentes visores para diferentes tipos de imágenes casi sin consistencia, especialmente entre los tipos de imágenes más raros.
Tomé el comando anterior y lo asigné a cada uno de los tipos MIME controlados por los visores de imágenes y luego creé uno nuevo
image-viewer.desktop
clonando uno de ellos (esto es opcional, simplemente puede reutilizar su favorito). A continuación, verifiqué manualmente que ninguno de los tipos MIME sería incompatible con mi nueva aplicación preferida. Finalmente, configuré esa aplicación como predeterminada para todos los tipos MIME de otras aplicaciones:Esto examina los
.desktop
archivos para cada uno de los espectadores ( Ristretto , Geeqie y GThumb en mi caso), extrae la definición MIME (que está precedida porMimeType=
y luego contiene una lista delimitada por punto y coma), elimina la etiqueta del prefacio (previamente coincidente) y divide la lista en una entrada por línea.sort -u
luego elimina las líneas redundantes, luego se entreganxdg-mime
para establecer los nuevos valores predeterminados.(Si desea probar esto antes de ejecutarlo en vivo, cambiar
xargs
axargs echo
e imprimirá el comando resultante en lugar de ejecutarlo.)Esta técnica debería funcionar para cualquier cosa que desee reclamar para una aplicación de destino. Ni siquiera necesita crear un nuevo
.desktop
archivo (puede usar uno existente). Hice ese paso adicional para que cuando cambie inevitablemente mi lealtad entre los previsualizadores de imágenes, simplemente necesite cambiar ese archivo.fuente
En Ubuntu 18.04, he encontrado que el orden de precedencia es el siguiente, de más fuerte a más débil:
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
("Abrir con otra aplicación" actualizará esto)~/.local/share/applications/mimeapps.list
mimeinfo.cache
registro de aplicaciones compatibles, que se generan a partir de los.desktop
archivos presentes en/usr/share/applications
y/usr/local/share/applications
, y se pueden regenerar usandoupdate-desktop-database
./etc/gnome/defaults.list
fuente