Abrir un archivo desde la terminal

30

Cuando deseamos abrir una aplicación o archivo desde la terminal, escribimos, digamos,

okular file.dvi

Esto abre la aplicación, pero también muestra el estado de la aplicación. No podemos cerrar la terminal porque mata el proceso. Desafortunadamente, si está intentando, por ejemplo, crear un archivo LaTeX, necesitará una pestaña para el editor de texto, una para el archivo dvi, etc. Y si está intentando abrir todas las ventanas desde la terminal, puede olvidarlo. Estoy tratando de usar el terminal tanto como sea posible, y aunque tengo Yakuake, todavía es una molestia tener tantas pestañas y ver cuáles tienen una aplicación que he eliminado y así sucesivamente.

Entonces, ¿hay alguna manera de abrir una aplicación / archivo desde la terminal para que el estado no se muestre e inmediatamente aparezca el mensaje para que podamos usarlo para abrir más aplicaciones?

notablemente
fuente
Dadas sus solicitudes, con respecto a no ver ninguna salida, el espectador no es un proceso secundario del terminal, etc., parece un candidato ideal para cuando simplemente usa un atajo de teclado para abrir el visor, o usa, por ejemplo, grun para pasar también el nombre de archivo , sería más adecuado que apegarse a usar un terminal.
jmetz
No me importa no ver ninguna salida ... Me importa tener que tener múltiples terminales / pestañas abiertas para múltiples aplicaciones. La respuesta que he elegido se adapta perfectamente a todas mis preferencias.
notablemente tipips

Respuestas:

51
xdg-open file.dvi

xdg-openabrirá cualquier archivo con su aplicación predeterminada. Como beneficio adicional, puede cerrar el terminal sin matar la aplicación.

Como xdg-openes un nombre bastante largo, le puse un alias .bashrc:

alias open='xdg-open'
Mihai Capotă
fuente
¡Dulce! ¡Este es el mejor, incluso mejor que el que había seleccionado! Y obtienes una insignia de 'Revival' :)
notablemente el
Simple impresionante!
Yugal Jindle
Solo quiero señalar que, dado que esto realmente no ejecuta el programa, significa que puede abrir el archivo sin crear una nueva instancia de ese programa. Esto significa que puede abrir un archivo y se abrirá automáticamente en la instancia ya abierta de la aplicación.
Arc676
si recientemente se mudó de mac a linux, probablemente sea una buena idea hacerlo alias open="xdg-open"
Pedro Luz
16
okular file.dvi &

simplemente agregue un &para hacer que su comando se ejecute como un proceso separado.

usuario827992
fuente
¡Guauu! ¡Perfecto! Es curioso ... Busqué en Google "abrir desde la terminal sin mostrar estado", ¡nunca pensé que se comportara como un proceso separado! Por desgracia, se dice que tengo que esperar durante 8 minutos, así que ...
notablytipsy
14

okular file.dvi &> /dev/null &Sería un poco mejor. De esta manera, el programa no escribe en el terminal.

Si usa solo okular file.dvi &el programa aún informará cosas en la terminal, a menudo en el medio de su trabajo

josinalvo
fuente
6

Con, digamos, evince file.pdf &cerrar el terminal seguirá cerrando el proceso, por lo que sigue siendo un proceso secundario del terminal y no tiene independencia del mismo; nohup evince file.pdf &le permitirá cerrar la terminal sin que el programa se cierre ya que nohup significa que se ignorarán las señales para que el proceso se cierre (cuelgue). También puede rechazar un proceso de manera similar, vea esta discusión aquí .

Comunidad
fuente
Gracias, no lo sabía. Uso Yakuake y nunca lo cierro, así que no es un problema. Pero siempre es útil saber tales cosas.
notablelytipsy
Me acaba de editar mi post ver la diferencia: que va a funcionar ahora
Lo sentimos - me había olvidado de poner el y al final :)
notablytipsy
1
Cuando intento evince file.pdf &, no mata el proceso cuando deje el terminal ...
notablytipsy
1
Cuando inicia un proceso hijo, pertenece al proceso padre. En este caso, evince es el proceso hijo que pertenece al terminal. Por lo tanto, cuando cierra el terminal, también cierra los procesos secundarios. nohup separa esta propiedad, por lo que es lo que debe usar si desea cerrar el terminal. Sin embargo, de forma predeterminada, nohup crea un archivo nohup.out en su carpeta de inicio. Si no desea ese archivo, utilice la redirección de la siguiente manera:nohup evince file.pdf &>/dev/null &
Paddy Landau