Cambiar la aplicacion por defecto para un tipo de archivo

Introducción

Teniendo en cuenta que, instalar cualquier aplicación en Ubuntu es realmente sencillo y que existen miles de aplicaciones libres y gratuitas en el Centro de Software de Ubuntu, es normal tener dos, o incluso mas aplicaciones, instaladas en nuestro equipo, que permiten realizar las mismas operaciones sobre algún tipo de archivo, eso si cada una con sus particularidades. Por ejemplo, podría ser, que tuvieras instaladas dos aplicaciones para modificar el etiquetado de tus archivos mp3, una que te facilita el proceso, y otra que te permite acceder a una serie de opciones que la primera no te permite.

Ahora bien, esto tiene el pequeño inconveniente de que en un momento determinado, nos podemos encontrar con que cuando hacemos doble clic sobre un determinado tipo de archivo, en lugar de abrirse nuestra aplicación preferida, se abre otra. ¿Cómo podemos modificar este comportamiento por defecto?

¿Quien abre que?

Para descubrir que aplicación abre cada tipo de archivo, tenemos que referirnos a los siguientes a los siguientes archivos:

  • «/usr/share/applications/defaults.list», este archivo define las aplicaciones por defecto para todos los usuarios del equipo
  • «~/.local/share/applications/defaults.list», este archivo es particular para cada uno de los usuarios del equipo, y sobrescribe el anterior.

La sintaxis de los archivos anteriores es la siguiente:

[Default Applications]
mimetype=desktopfile1;desktopfile2;...;desktopfileN

[Added Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN

[Removed Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN

El apartado «Default Applications», define las aplicaciones a utilizar por cada una de los tipos MIME (esto es un estándar que describe el contenido del archivo) en orden de preferencia, de forma que, al hacer doble clic sobre el archivo en cuestión, se abrirá con la primera de las aplicaciones que esté disponible. Es decir, si desktopfile1 no existe, se abrirá con desktopfile2, y así sucesivamente.

Según he leído, parece que xdg-open, que es la herramienta, independiente del tipo de escritorio que empleemos (GNOME, KDE, …) con la que se pueden abrir archivos en función del tipo MIME, no funciona de forma correcta, de forma que si especificamos mas de una aplicación por cada tipo MIME, el resultado es que no se utiliza ninguna. De forma que lo mas correcto, es indicar una única aplicación por cada tipo MIME que empleemos.

El apartado «Added Associations» se utiliza para especificar las aplicación preferidas en orden decreciente de preferencia para cada tipo MIME especificado. Mientras que el apartado «Removed Associations» se utiliza para quitar de forma explícita cualquier asociación existente.

En el caso de GNOME, todas estas modificaciones se puede hacer vía «gvfs-mime». Por ejemplo, si queremos conocer cual es la aplicación definida por defecto para abrir los archivos pdf, tenemos que ejecutar el siguiente comando:

gvfs-mime --query application/pdf

Cuyo resultado es el siguiente:

Default application for 'application/pdf': evince.desktop
Registered applications:
evince.desktop
libreoffice-calc.desktop
libreoffice-writer.desktop
gimp.desktop
calibre-ebook-viewer.desktop
calibre-gui.desktop
Recommended applications:
libreoffice-calc.desktop
libreoffice-writer.desktop
evince.desktop
gimp.desktop
calibre-ebook-viewer.desktop
calibre-gui.desktop

Si queremos cambiar la aplicación que abre por defecto los archivos pdf, tendremos que ejecutar el siguiente comando:

gvfs-mime --set application/pdf gimp.desktop

Si abres el archivo «/usr/share/applications/gimp.desktop», verás que dentro de la configuración aparece los tipo MIME que es capaz de manejar, entre los que se encuentra el tipo «pdf»:

MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;

Conclusiones

Todo esto empezó con un artículo que publicaré dentro de unos días referente a Transmission, pero que tiene su sentido publicarlo antes, porque introduce los conceptos necesarios para su utilización, y te da una idea del funcionamiento del uso de aplicaciones por defecto.

Más información | libre-software.net, archlinux.org, askubuntu, My interesting Ubuntu

11 comentarios en “Cambiar la aplicacion por defecto para un tipo de archivo

  1. PA
    Pabli2312 hace 12 años

    Soy usuario de Linux desde hace 2 años y me encanta. Pero esta es una de las razones por las que los de Windows no podrán nunca pasarse a Linux. ¿¿¿¿Todo eso para asociar un tipo de archivo a una aplicación????????? Quieran o no, en Windows hacer esto es una estupidez de sencillo. «Abrir con» + seleccionar aplicación + usar siempre. Lo digo en serio, con tristeza porque linux es un gran sistema operativo. PEro de esta forma NUNCA accederán al usuarios final, común.

    1. FR
      Frank Davila hace 12 años

      Estoy de acuerdo contigo, lo peor es que en linux también se hacia igual como en windows pero desde que aparecio unity, todo cambio y es que en propiedades de archivo pestaña «abrir con» aparece una lista de aplicaciones para escoger con cual abrir un archivo PERO NO PUEDES AGREGAR APLICACIONES NUEVAS, gnome ya no te lo permite como antes si lo hacia, en vez de avanzar retroceden, en el caso de canonical ya veremos otro microsoft del software libre.

  2. PA
    patxi68 hace 12 años

    No entiendo el artículo y esta respuesta de Pabli:
    Botón derecho del ratón + Propiedades + abrir con + Seleccionar o añadir aplicación + establecer predeterminado y ya hemos cambiado la aplcación.
    Comprendo que toda la gente que usa windows normalmente sea mema o. simplemente, vaga, pero estooo….

  3. JU
    Julio hace 12 años

    Yo tampoco entiendo muy bien este artículo…
    Todo eso de asociar una aplicacion a un tipo de archivo lo puedes hacer (como bien ha dicho patxi68) de manera totalmente gráfica desde las propiedades del archivo.
    Nunca está de mas aprender cosas nuevas, pero vamos, que no es es necesario tocar ningún fichero para hacer eso 😉

  4. DA
    Dani Molina hace 12 años

    Está bien conocer a fondo cómo se hace la asociación de tipos mime, pero como dicen los otros compañeros no estaría de más haber empezado por decir que también se puede hacer con dos clic, para que los asustadizos como Pabli no les entre el canguelo 😉

  5. FR
    Frank Davila hace 12 años

    frank@frank-12345:~$ gvfs-mime –query application/python
    No default applications for ‘application/python’
    frank@frank-12345:~$ gvfs-mime –set application/py python
    Failed to load info for handler ‘python’
    frank@frank-12345:~$ sudo gvfs-mime –set application/py python
    [sudo] password for frank:
    Failed to load info for handler ‘python’
    frank@frank-12345:~$ sudo gvfs-mime –set application/py python.desktop
    Failed to load info for handler ‘python.desktop’
    frank@frank-12345:~$

    Que hago en este caso? 🙁

  6. RA
    raulegr hace 9 años

    como poner java como predeterminada para archivos .jar

  7. RA
    raulegr hace 9 años

    como puedo poner java para los archivos .jar

    1. EL
      El atareao hace 9 años

      Hola raulegr,
      Si tienes openjdk, tienes que ejecutar el siguiente comando en un terminal,

      gvfs-mime –set application/java-archive openjdk-7-java.desktop

      En caso de que el archivo .jar no esté marcado como ejecutable, te mostrará un mensaje de error. Márcalo como ejecutable y ya está.

      Saludos.

  8. RO
    Rodrigo hace 8 años

    Muy bueno el post, pero todo esto no se aplica en UNITY =( alguien sabe como aplicarlo en UNITY con ubuntu? muchas gracias

    1. EL
      El atareao hace 8 años

      Hola Rodrigo,
      Esto funciona exactamente igual en Ubuntu Gnome que con Ubuntu Unity, ¿a ti no te funciona?

      Un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *