Forzar que la extensión de archivo se abra con una aplicación específica (Extensiones como .exe, .jpg, .mp4 ...)

13

Ya leí la pregunta sobre la creación de archivos .desktop para usar en la pestaña "Abrir con otra aplicación", pero esto no es lo que quiero, quiero poder hacer clic en el archivo en Dash o en Nautilus y poder abrir con la aplicación especificada.

Por ejemplo, tengo este caso en este momento:

Cuando hago clic en un archivo EXE , Wine no lo ejecuta, en su lugar obtengo lo siguiente:

ingrese la descripción de la imagen aquí

Si intento buscar Wine en la opción Abrir con el menú contextual, está allí. Estoy bien ejecutándolo desde allí la primera vez, pero luego las siguientes veces Wine no aparece seleccionado en el menú contextual principal:

ingrese la descripción de la imagen aquí

Luego fui a Propiedades a la pestaña Abrir con para buscar Wine. No estaba en las aplicaciones predeterminadas ni en las recomendadas cuando hice clic y busqué en Mostrar otras aplicaciones

ingrese la descripción de la imagen aquí

Esto no se limita a las extensiones EXE. También ha sucedido con archivos MKV, archivos MP4, JPG, PNG, MP3 e incluso SVG y CSS. Entonces, en lugar de tratar de encontrar una forma de resolverlo, quiero una forma que se pueda hacer a cualquier tipo de extensión que pueda:

  • Haga que la aplicación sea la predeterminada de esa extensión
  • Aparece en el menú contextual en Nautilus cuando hago clic derecho en el archivo
  • Aparece en la pestaña "Abrir con" en la ventana de propiedades del archivo
  • Ejecuta correctamente la aplicación especificada cuando hago clic en el archivo con Dash

Esto puede parecer que debería tener sentido común que una aplicación ejecute el archivo, pero no siempre funciona así. Entonces, para los casos en que realmente no funciona, cómo solucionarlo. ¿Un reinicio de la extensión ?, ¿Una actualización de los archivos que pueden abrir dicha extensión ?, ¿una adición de la aplicación a través de una línea de comandos o una herramienta GUI?

Luis Alvarado
fuente
Echa un vistazo a askubuntu.com/a/189284/41499 utiliza Ubuntu Tweak
Gerhard Burger
Dame un momento para probarlo. Aunque estaba buscando una forma que no necesitara instalar un PPA. Algo por ejemplo que ya estaba EN Ubuntu.
Luis Alvarado
¿Puedes agregarlo como respuesta, al menos hasta que aparezca una opción más "Ubuntu-ish"? Cambia la aplicación para la extensión, pero tengo un caso en el que no hay internet.
Luis Alvarado
Me siento mal solo por copiarlo, ¿o debería simplemente copiar mi comentario a una respuesta? Sería bueno ver qué hace Ubuntu Tweak en realidad, crea algunos archivos de escritorio adicionales, pero no sé si hace algo extra ...
Gerhard Burger
Encontré una opción mejor y más "Ubuntu-ish";)
Gerhard Burger

Respuestas:

16

Puede usar el comando mimeopen, en una terminal vaya a la carpeta donde está su archivo .exe y escriba

mimeopen -d filename.exe

Obtendrá un menú emergente, donde puede ver algunas opciones, pero también hay una opción 'Otro ...', elija esta, luego escriba el comando que usaría si abriera el archivo en el terminal y lo reemplazara. el nombre del archivo con %f. Entonces, en este caso, escribirías wine %f.

Ahora la asociación predeterminada para todos los archivos exe debería cambiarse a wine.

Alternativamente, el uso de Ubuntu-Tweak como se describe en Cambiar todas las asociaciones de gedit a otra aplicación también cambiará la aplicación predeterminada asociada.

Gerhard Burger
fuente
1
Gran respuesta. Utilicé este mismo enfoque para .mp4 para cambiar el reproductor de video.
Élder Geek
El uso de mimeopen está bien cuando se desea usar / crear un comando personalizado, pero si se desea configurar una aplicación como predeterminada para un tipo mime, entonces r. haga clic en> propiedades> abrir con> seleccionar aplicación> haga clic en el Set as defaultbotón es mejor.
doug
2
@doug tienes razón, pero la pregunta es qué hacer si la aplicación no está en esa lista (lo que sucede mucho).
Gerhard Burger
¿Cómo se hace ese proceso en una línea? Tengo un script y quiero establecer .exe en wine %f, .vlc en vlc %f etc. ¿Es posible hacerlo en un script bash? gracias
Ugo Hed
Leyendo la página man ( man.cx/mimeopen ) No puedo, lamentablemente
Gerhard Burger