Linux-äquivalenter Befehl für den Befehl "Öffnen" unter Mac / Windows?

46

Unter Mac OS X können Sie Folgendes eingeben:

$ open yourfilehere.txt

und Ihre Datei wird so geöffnet, als hätten Sie sie im Finder geöffnet.


Unter Windows kann man Folgendes eingeben:

> start yourfilehere.txt

und es wird so geöffnet, als hätten Sie es über den Explorer geöffnet.


Unter Ubuntu möchte ich in der Lage sein, Dateien in GNOME auf dieselbe Weise zu öffnen. Was ist der Befehl?

Jweede
quelle
1
In wenig verwandten fand ich dieses kleine Juwel, um Finder in einem bestimmten Pfad (nicht unbedingt aktuellen Pfad) zu öffnen: open -a Finder. oder öffne -a Finder / your / path / here
Mikko Ohtamaa
Ich habe gerade gesehen, dass unter Windows dies das startProgramm ist. Unter OS X ist dies das openProgramm. Unter Ubuntu Linux ist dies das seeProgramm. in Buch- automatisieren-das-langweilige-Zeug-mit-Python , aber ich habe keine Informationen über seeBefehl von Google bekommen.
CodyChan

Antworten:

39

xdg-open ist was Sie suchen.

Dieses Snippet, das ich in meine .bashrc-Dateien eingefügt habe, könnte Ihnen gefallen, damit ich unabhängig davon, ob ich Cygwin unter Windows, Linux oder OSX verwende, entweder die Befehle start oder open verwenden kann und sie hervorragend funktionieren:

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

Gute Kommentare, xdg-open ist in der Tat eine bessere Option als gnome-open, wie unten erläutert. Ich habe meine persönlichen Skripte vor einiger Zeit aktualisiert, aber vergessen, diese Antwort zu aktualisieren.

WARNUNG: Dadurch wird die Funktionalität sowohl von openvt(virtuelles Terminal) als auch startvon init außer Kraft gesetzt .

Jordan
quelle
1
Das BASH-Skript ist eine großartige Idee.
Donnerstag,
9
cygwin: versuchen Sie "cygstart"
Doug Harris
13
gnome-open ist GNOME-spezifisch. xdg-open ist in allen mit Freedesktop.org kompatiblen Distributionen verfügbar.
Avdi
@DougHarris, +1. cygstartkann weiter bevorzugt werden, da in Emacs-Lesezeichen weiterhin Emacs verwendet werden kann. Mit startist mein Emacs eingefroren.
Brady Trainor
Dann ist start schön, wenn Sie sich nicht darauf verlassen möchten, dass Cygwin verfügbar ist. start ""oder "start \"\""nur für mich gearbeitet. (Satz von Anführungszeichen "" verhindert, dass Emacs am Prozess hängen bleibt.)
Brady Trainor
34
xdg-open xyz.bar

wird xyz.barin jeder mit freedesktop kompatiblen Umgebung mit der Anwendung, für xyz.bardie der Typ registriert ist, geöffnet (kann eine Datei oder eine URL sein) . Siehe auch die Dokumentation hier (Manpage von xdg-open) .

In der Praxis sollte dies dann je nach aktueller Desktop-Umgebung (KDE, Gnome, XFCE, OS X) aufgerufen kde-openwerden gnome-open, exo-openoder möglicherweise sogar open.

Akira
quelle
3
funktioniert auch. Was ist der Unterschied zwischen xdg-openund gnome-open?
Jweede
5
Nun, xdg-open wurde von den freedesktop.org-Leuten entwickelt, die behaupten, den "Standard" zu schaffen, während gnome-open von den Gnome-Leuten entwickelt wurde, die Sie nur erhalten, wenn Sie gnome installieren. Ich persönlich mag das freedesktop.org-Zeug mehr.
Akira
2
In der Tat ist xdg-open hier die richtige Antwort. gnome-open ist spezifisch für Desktops, auf denen GNOME installiert ist. xdg-open ist auf jedem freedesktop-kompatiblen System verfügbar.
Avdi
2
"xdg-open ist auf jedem freedesktop-kompatiblen System verfügbar" bedeutet in der Praxis, dass Sie unter Verwendung von GNOME, KDE, Xfce oder einer anderen Umgebung xdg-opendas Richtige tun , indem Sie den Dateityp "to" verwenden -Programmabbildung der laufenden Umgebung.
RavuAlHemio
Es ist fast gleichbedeutend mit Macs "open" -Befehl, aber nicht ganz - ich stelle (zumindest unter Ubuntu 14) fest, dass das Verzeichnis im Hintergrund geöffnet wird, wenn ich es in einem Verzeichnis verwende. Ich möchte lieber das frisch geöffnete Fenster nach vorne bringen. Wie kann man das erreichen? (Verzeih mir, ich bin ein totaler Linux-Neuling.)
Joe Strout
10

Sie können sogar einen kleinen Wrapper um gnome-open schreiben, um mehrere Dateien mit einem Befehl zu öffnen:

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

Fügen Sie dies in ein Shell-Skript mit dem Namen open und ein

open *.c

öffnet alle c-Dateien im aktuellen Verzeichnis.

Kim
quelle
2
Nützliches Skript, aber Sie möchten $ * durch "$ @" (einschließlich der Anführungszeichen) ersetzen, um Dateinamen mit Leerzeichen richtig zu behandeln.
Pimlottc
1

Sie können den gnome-openBefehl in Ihrem Terminal verwenden. Geben Sie in das Verzeichnis, in dem Sie ein Betriebssystemfenster öffnen möchten, Folgendes ein:

gnome-open .

Dies öffnet ein Fenster, in dem angezeigt wird, was sich in diesem Ordner befindet. Ebenso können Sie einen Unterordner in diesem Verzeichnis angeben, indem Sie den .durch den Namen des Unterordners ersetzen .

Beachten Sie, dass gnome-openes möglicherweise nur installiert werden muss , wenn es nicht funktioniert. Sie können dies mit Synaptic ( sudo apt-get updateund dann sudo apt-get install synapticin Ihrem Terminal, sehr praktisch bei der Installation von Paketen, da alle Abhängigkeiten ordnungsgemäß installiert werden) oder Gnome Shell direkt in Ihrem Terminal installieren:sudo apt-get install gnome-shell

Die Katze
quelle
-1

Geben Sie dies in das Terminal ein: ./yourfile

yourfileist der Name der Datei, die Sie öffnen oder ausführen möchten. Sie können diesen Befehl auch zum Ausführen von Bash-Skripten verwenden. (Denken Sie daran, die Dateierweiterung einzugeben!)

gnome-open ist was Sie suchen.

Ein weiteres Zitat aus einem anderen Plakat.

user113907
quelle