¿Comando equivalente de Linux para el comando "abrir" en Mac / Windows?

46

Viniendo de Mac OS X, puede escribir:

$ open yourfilehere.txt

y su archivo se abrirá como si lo hubiera abierto desde Finder.


En Windows, uno puede escribir:

> start yourfilehere.txt

y se abrirá como si lo hubiera abierto desde el Explorador.


En Ubuntu, me gustaría poder abrir archivos de la misma manera en GNOME. Cual es el comando?

jweede
fuente
1
En poco relacionado encontré esta pequeña joya para abrir Finder en una ruta determinada (no necesariamente la ruta actual): abrir -a Finder. o abierto -a Finder / your / path / here
Mikko Ohtamaa
Acabo de ver que en Windows, este es el startprograma. En OS X, este es el openprograma. En Ubuntu Linux, este es el seeprograma. en el libro automatize-the-aburing-stuff-with-python , pero no recibí ninguna información sobre el seecomando de Google.
CodyChan

Respuestas:

39

xdg-open es lo que estás buscando

Puede que le guste este fragmento que puse en mis archivos .bashrc para que si estoy usando cygwin en Windows, Linux u OSX, puedo usar los comandos de inicio o de apertura y funcionan muy bien:

case "$OSTYPE" in
   cygwin*)
      alias open="cmd /c start"
      ;;
   linux*)
      alias start="xdg-open"
      alias open="xdg-open"
      ;;
   darwin*)
      alias start="open"
      ;;
esac

Buenos comentarios, xdg-open es de hecho una mejor opción que gnome-open como se explica a continuación. Actualicé mis scripts personales hace un tiempo, pero olvidé actualizar esta respuesta.

ADVERTENCIA: Esto anulará la funcionalidad de ambos openvt(terminal virtual) y startde init.

Jordán
fuente
1
Ese script BASH es una gran idea.
jweede
99
cygwin: prueba "cygstart"
Doug Harris
13
gnome-open es específico de GNOME. xdg-open está disponible en todas las distribuciones compatibles con Freedesktop.org.
Avdi
@DougHarris, +1. cygstartpuede ser aún más preferible, ya que en los marcadores de Emacs, permite seguir usando Emacs. Con startmi Emacs está congelado.
Brady Trainor
Entonces, comenzar es bueno si no quieres confiar en que Cygwin esté disponible. start ""o "start \"\""simplemente trabajó para mí (El conjunto de citas "" evita que Emacs se cuelgue del proceso.)
Brady Trainor
34
xdg-open xyz.bar

se abrirá xyz.bar(puede ser un archivo o una URL) en cualquier entorno compatible con freedesktop con la aplicación registrada para xyz.barel tipo. Consulte también la documentación aquí (página de manual de xdg-open) .

En practive esto, entonces debe llamar kde-open, gnome-open, exo-openo, posiblemente, incluso open, en función del entorno de escritorio actual (KDE, Gnome, XFCE, OS X).

akira
fuente
3
También funciona. ¿Cuál es la diferencia entre xdg-openy gnome-open?
jweede
55
bueno, xdg-open fue desarrollado por la gente de freedesktop.org que dice crear el "estándar", mientras que gnome-open fue desarrollado por la gente de gnome ... que solo obtienes cuando instalas gnome. Personalmente, me gustan más las cosas de freedesktop.org.
akira
2
De hecho, xdg-open es la respuesta correcta aquí. gnome-open es específico para escritorios que tienen instalado GNOME. xdg-open estará disponible en cualquier sistema compatible con freedesktop.
Avdi
2
"xdg-open estará disponible en cualquier sistema compatible con freedesktop" significa, en la práctica, que no importa si está utilizando GNOME, KDE, Xfce o cualquier otro entorno, xdg-openhará lo correcto , utilizando el tipo de archivo para -mapeo de programa del entorno de ejecución.
RavuAlHemio
Es casi equivalente al comando "abrir" de Mac, pero no del todo. Estoy descubriendo (al menos en Ubuntu 14) que cuando lo uso en un directorio, el directorio se abre en segundo plano. Prefiero que traiga la ventana recién abierta al frente. ¿Alguna forma de hacerlo? (Perdóname, soy un novato total de Linux.)
Joe Strout
10

Incluso puede escribir un pequeño contenedor alrededor de gnome-open para abrir múltiples archivos con un comando:

for i in $*
do
    gnome-open "$i"
done

Ponga esto en un script de shell llamado open y

open *.c

abrirá todos los archivos c en el directorio actual.

Kim
fuente
2
Script útil, pero querrá reemplazar $ * con "$ @" (incluidas las comillas) para manejar correctamente los nombres de archivo con espacios.
pimlottc
1

Puedes usar el gnome-opencomando en tu Terminal. Una vez en el directorio en el que desea abrir una ventana del sistema operativo, escriba la Terminal:

gnome-open .

Esto abrirá una ventana que muestra lo que hay en esta carpeta. Del mismo modo, puede especificar una subcarpeta ubicada en este directorio sustituyéndola .por el nombre de la subcarpeta.

Tenga en cuenta que si gnome-openno funciona, es posible que solo deba instalarse. Puede hacerlo usando Synaptic ( sudo apt-get updatey luego sudo apt-get install synapticen su terminal, muy conveniente al instalar el paquete porque instala todas las dependencias correctamente) o instalar directamente Gnome Shell en su Terminal:sudo apt-get install gnome-shell

LeChat
fuente
-1

Ingrese esto en la terminal: ./yourfile

yourfilees el nombre del archivo que desea abrir o ejecutar. También puede usar este comando para ejecutar scripts bash. (¡Recuerde ingresar la extensión del archivo!)

gnome-open es lo que estás buscando

Otra cita de otro cartel.

usuario113907
fuente