Hacer que Firefox 3 beta 5 abra archivos descargados como estan asociados en KDE

Sigo con Kubuntu Hardy Heron. Por fortuna o desgracia, la distro trae Firefox 3 beta 5 como la version actual de «firefox».

Una de las gracias de esta version, es que al descargar un archivo y abrirlo, nos pregunta con que programa hacerlo.

Es mejor que lo que había antes, pero aun no es tan bueno. El programa lo escogemos para el protocolo, no para «el tipo de archivo», así que todos los archivos locales (interpretados como protocolo file) se agregaran a la lista.

Además, igual es latoso asociar cada tipo a un programa distinto, cuando KDE maneja su propia asociación de archivos (y de antemano). Entonces acá fue donde Amsn me dio una pista:

El comando kfmclient exec /archivo/de/entrada lo que hace es abrir la direccion dada con el programa asociado en KDE. Si es un directorio lo abre en Konqueror o Dolphin. Si el tipo de archivo no está asociado aún, pregunta con que programa abrirlo.

Ahora el problema con Firefox, es que deja escojer «el programa» con que abrir los archivos (ya convenimos que se va a usar kfmclient) pero no deja pasarle argumentos (es necesario el «exec»), por lo tanto mi solución fue la siguiente:

  • Creamos un script como root llamado /usr/bin/abrircon, para eso puede ejecutarse:
  • sudo nano /usr/bin/abrircon
  • O sino:
  • kdesu kate /usr/bin/abrircon
  • Le pegamos el siguiente contenido:

#!/bin/bash
kfmclient exec $1

  • Finalmente, le damos permiso de ejecución (también como root)
  • sudo chmod +x /usr/bin/abrircon

Ahora, en Firefox, la proxima vez que queramos abrir un archivo recien bajado, preguntará con que programa abrirlo. Entonces le damos la dirección de nuestro script:

/usr/bin/abrircon

Ojo: Antes de ponerle que «no vuelva a preguntar más», prueben su funciona. Para el próximo archivo, tal vez quieran que no pregunte más.

Si por esas cosas de la vida, ya habian puesto que no preguntara más, lo que se debe hacer es (con Firefox cerrado), es editar un archivo dentro del perfil de firefox, que se ubica en la siguiente carpeta:

~/.mozilla/firefox/<carpeta del perfil>

donde <carpeta del perfil> es un nombre generado aleatoriamente la primera vez que ejecutan Firefox.

El archivo en cuestión se llama mimeTypes.rdf

Se debe buscar la linea que dice

<RDF:Description RDF:about=»urn:handler:local:

(La deje incompleta a propósito). Si bajo esa linea hay algo como:

NC:alwaysAsk=»false»

Solo se debe cambiar el false por true.

PD: Toda esta tontera no abría sido necesaria si desde el principio el Firefox permitiera pasarle argumentos a los programas escogidos, además de que en ningún panel/menú/opción encontre como desactivar «que no preguntara más» al «abrir un archivo con…».

4 comentarios sobre “Hacer que Firefox 3 beta 5 abra archivos descargados como estan asociados en KDE”

  1. em…

    dice:

    «The problem is that a file with an unknown MIME type by default is handled by «kfmclient exec». This can be exploited to execute shell commands by tricking a user into opening a malicious shortcut/launcher containing an «Exec» entry.»

    Obvio es un problema de seguridad, pero para que se ejecute algo maliciosamente con kfmclient exec, tendría que:

    1) tener una entrada en la asociación de archivos de kde que dispare el comando «malicioso».

    2) que el archivo bajado coincida con el «tipo mime» o extensión asociado en kde.

    Para que el exploit funcione tendría que tener preinstalado algo malicioso y luego bajar algo que lo dispare, cosa muy poco probable.

  2. Vaya, deveras que es una excelente solución. Desde hace un par de meses tuve que aguantar la cantaleta de mi mujer: «¿Ya ves? ¡Tu cochino Linux no sirve para nada! etc., etc. En fin, gracias por ayudarme a solucionar este problema.

  3. Gracias por la data.
    Otra forma de hacer el 2do paso (Si por esas cosas de la vida, ya habian puesto que no preguntara más) gráficamente y sin cerrar firefox es ir a:
    Editar->Preferencias->Aplicaciones
    Buscar el tipo de contenido «file» y en el campo Acción seleccionar «Usar otra…» y luego buscar /usr/bin/abrircon

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.