En macOS en la Terminal predeterminada en ejecución bash
, puedo escribir:
open -a Firefox http://www.wikipedia.org
abrir una URL con Firefox u otro navegador. También funciona para iniciar un programa, por ejemplo open -a maps
, y para abrir un archivo en el programa predeterminado, por ejemplo open file.pdf
.
¿Cómo puedo hacer lo mismo en Ubuntu en la Terminal predeterminada de GNOME que también se ejecuta bash
? Sé que puedo abrir un archivo o URL con xdg-open /path/to/file
, y puedo abrir el navegador predeterminado con sensible-browser
. ¿Ubuntu tiene un comando general para abrir archivos, aplicaciones o archivos en aplicaciones específicas?
Estoy corriendo bash
en ambas máquinas, 3.2.57(1)-release
en macOS y 4.4.19(1)-release
en Ubuntu.
command-line
miguelmorin
fuente
fuente
open -a Firefox http://www.wikipedia.org
? ¿No puedes hacerfirefox http://www.wikipedia.org
? Parece una característica inútilopen
, cuando abrir programas es el punto centralbash
.bash: firefox: command not found
. Mismo error con elFirefox
nombre del programa.bash
funciona exactamente igual; Firefox se instala de manera diferente a Ubuntu. En macOS, podría, por ejemplo, ejecutar/Applications/Firefox.app/Contents/MacOS/firefox-bin
desde la línea de comandos.Firefox.app
es un tipo especial de carpeta que no sólo contiene el ejecutable, pero los archivos que en Linux podrían ser esparcidos por en varios/usr/bin/
,/usr/lib
,/etc
, etc. directorios. El Finder sabe cómo ejecutar la aplicación real cuando, por ejemplo, hace doble clic enFirefox.app
.open
es una forma de "ejecutar" la carpeta especial desde la línea de comandos.bash
funcione de manera diferente: Firefox está instalado como una aplicación OS X (Firefox.app
) y no está en la RUTA normal. Otra razón para usaropen -a
es que pone en segundo plano correctamente la aplicación que inicia, en lugar de esperar hasta que salga.&
Respuestas:
Puede usar específicamente el nombre de su programa deseado (si puede usarse como una herramienta de línea de comando).
Por ejemplo, urls:
PDF:
Imágenes:
Textos:
Video / Música:
Si desea que el programa se ejecute separado de la terminal, esta es la forma en que prefiero hacerlo:
Por ejemplo:
Recuerde que siempre puede redirigir las salidas como de costumbre, por ejemplo:
fuente
eog picture.jpg
para imágenes también si tienes instalado gnome-desktop :)open
para llamar a otro programa. ¿Por qué no simplemente llamar al otro programa directamente? ¿Qué utilidadopen
agrega? Esta respuesta refleja lo natural que se debe hacer para abrir aplicaciones específicas.open
en macOS funciona tanto para abrir archivos y carpetas en la aplicación predeterminada como en aplicaciones específicas. Parece el originalbash
fue en un camino diferente conxdg-open
los archivos y los nombres de las aplicaciones para el resto.open
en MacOS es que inicia la aplicación separada de la consola desde la que se ejecuta, es decir, si la consola se cierra, la aplicación permanecerá encendida. En Ubuntu uno necesita usar elnohup
comando para obtener el mismo comportamiento. (dado que prefijar cada comando con nohup y redirigir la salida para cada comando que ejecuta se vuelve agotador, puede tener más sentido definir un acceso directo personalizado)