Pregunta

esto puede no ser estrictamente sobre la programación, pero si no encuentro solución lista para usar que puede convertirse en una tarea de programación: En UNIX, lo que es un método de línea de comandos para determinar la aplicación de usuario preferida para un tipo de archivo dado?

Mi solución ideal en este caso sería un comando que me detuvo tener que hacer lo siguiente:

okular foo.pdf

Y me permitió hacer algo como esto, trabajar con mis establecer aplicaciones preferidas:

launch foo.pdf

he encontrado ninguna respuesta buscando, y un enfoque de bricolaje No trabajaría como, mientras yo he estado usando Linux por un tiempo, no tengo ni idea de los elementos internos que gestionan mis aplicaciones preferidas.

¿Fue útil?

Solución

En UNIX por sí que sería el que el usuario utiliza para abrirlo, porque no hay noción nivel de sistema operativo de una aplicación preferida.

Sin embargo el principal entorno de escritorio X toda definir una noción tal, y entonces usted tiene que utilizar sus instalaciones:

  • gnome-open en GNOME (duh)
  • exo-open en XFCE [ver los comentarios en el enlace de GNOME]
  • xdg-open puede trabajar en muchos entornos (supuestamente funciona en KDE) [ver los comentarios en el enlace de GNOME]
  • Sólo kfmclient exec normal (o kfmclient4 exec) en KDE (no he podido encontrar una referencia a kde-open como Rob H sugiere , y no tienen un sistema de KDE a mano para probarlo)

Ahora Mac OS X proporciona el comando open que funciona como hacer clic en el archivo en el Finder (es decir, se le pide al sistema operativo ...)


Varias correcciones gracias a ephemient en los comentarios. No voy a discutir mailcap, porque nunca he entendido y había olvidado que existía ...

Otros consejos

La respuesta varía en función del entorno de escritorio utilizando su. Ya que menciona Okular, voy a suponer que usted está usando KDE. Así que trate de:

kde-open <file>

En GNOME, no es el equivalente:

gnome-open <file>

Para responder a esto por mí mismo, he definido una función simple (bash) que funciona de la manera que esperaba:

function show { 
    xdg-open $1 &> NUL
    }

xdg abierta fue casi exactamente lo que quería, sino que le permite advertencias programa feas deslizarse a través de en la carcasa, que lo anterior parece que arreglar.

Gracias a todos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top