Ich fand den Befehl "Öffnen" in Mac OS X sehr praktisch in der Befehlszeile. Aus "Mann offen":
Der
open
Befehl öffnet eine Datei (oder ein Verzeichnis oder eine URL), als hätten Sie auf das Dateisymbol doppelklicken müssen. Wenn kein Anwendungsname angegeben wird, wird die über LaunchServices festgelegte Standardanwendung zum Öffnen der angegebenen Dateien verwendet.
Das heißt, wenn ich eine PDF-Datei mit dem Standard-PDF-Viewer öffnen möchte (zufällig Vorschau), muss ich nur Folgendes tun:
open my.pdf
Unter Linux musste ich mich jedoch umsehen, um eine PDF-Datei über die Befehlszeile zu öffnen, um herauszufinden, dass der Standard-PDF-Viewer beispielsweise "evince" ist (wer hätte das gedacht?), Und dann
evince my.pdf
Gibt es also ein einfaches Äquivalent zum Befehl 'open' in der Linux-Befehlszeile?
Vielen Dank!
quelle
Antworten:
Sie könnten versuchen
xdg-open
, die meisten Linux-Distributionen haben es. Es wird die standardmäßig zugeordnete App für Ihre Datei geöffnet.Zu Ihrer Information https://portland.freedesktop.org/doc/xdg-open.html
quelle
open
ist jedoch, dass dies die Datei / App nicht im Hintergrund öffnet. Linux-Apps scheinen sehr gesprächig zu sein und geben häufig mehrere Diagnose- und Warnzeilen direkt in Ihr Terminal aus (obwohl nichts wirklich schief gelaufen ist). Normalerweise muss ichxdg-open <file> &> /dev/null &
stattdessen so etwas tun . Gibt es in dieser Hinsicht etwas Besseres als xdg-open?&
wird also nicht benötigt. Die "mehreren Diagnosezeilen" stammen von der App selbst und nicht vonxdg-open
. Wenn Sie keine Ausgabe wünschen, müssen Sie diese&> /dev/null
sogarevince
direkt verwenden (Beispiel von OP), sodass Ihre Beschwerde nichtig ist.xdg-open
ist in der Tat der richtige Weg.xdg-open
die Schuld, wenn sie sich unterhalten. Und das Unterdrücken solcher Nachrichten sollte die Wahl des Benutzers sein , nicht die von xdg. Es ist also eine leere Beschwerde, nach etwas "Besserem" zu fragen alsxdg-open
. Auch wenn Macopen
keine Option zur Ausgabe dieser Meldungen hat, würde ich sagen , dassopen
ist viel schlimmer alsxdg-open
, da , wenn Sie Befehlszeile Startdateien verwenden , werden Sie in der Regel in dieser Ausgabe interessieren (sonst, warum nicht einfach einen Doppelklick auf die Datei in einem Browser wie Nautilus?)alias open='xdg-open &>/dev/null'
ergibt sich ungefähr das gewünschte Verhalten (obwohl Fehler von xdg-open selbst (im Gegensatz zu nur dem gestarteten Programm) ebenfalls zum Schweigen gebracht würden, was unerwünscht ist).Das Äquivalent, das Sie suchen, ist
xdg-open
das, das auf die gleiche Weise wie deropen
Befehl von OS X verwendet werden kann . Beispielsweise:Dies ist jedoch sehr schwer schnell und genau zu tippen. Stattdessen sollten Sie einen Alias für xdg-open erstellen, wodurch der Vorgang viel schneller wird.
Natürlich können Sie einen Alias verwenden
open
, damit er mit OS X übereinstimmt (Sie können alles auswählen, was Sie möchten), aber ich persönlich verwende]
aus Geschwindigkeitsgründen die rechte eckige Klammer ( ) für meine Verknüpfung. Fügen Sie Ihrer.bashrc
Datei Folgendes hinzu, um dies zu verwenden:Um eine Ressource zu öffnen, verwenden Sie sie wie folgt:
Außerdem können Sie damit einen Dateibrowser (z. B. Nautilus) im aktuellen Verzeichnis öffnen:
Aus Erfahrung habe ich festgestellt, dass Ein-Buchstaben-Aliase für die obige Verknüpfung am besten funktionieren. Ziel ist schließlich Effizienz. Und Sie können zurückgehen und unter OS X denselben Alias erstellen - das überlasse ich dem Leser als Übung. :-)
quelle
xdg-open
die Standardanwendung Ihres Systems für die Datei. In Ihrem Fall werden.url
Dateien so eingestellt, dass sie in gedit geöffnet werden. Wenn Sie dies ändern möchten, klicken Sie mit der rechten Maustaste auf die Datei in Nautilus und gehen Sie zu Eigenschaften> Öffnen mit, um die Standardanwendung zu ändern. Diesxdg-open
funktioniert entsprechend.Ich habe das einfach selbst geklärt, also dachte ich, ich würde aufschreiben, wie ich es gemacht habe, was speziell für das, was Suan fragte, relevant ist. Mit diesen Schritten können Sie einfach "Öffnen" eingeben und Ihr Terminal nicht mit Nachrichten abdecken, die Sie nicht benötigen:
Erstellen Sie ein Skript mit dem Namen
open
in~/bin
, der Inhalt ist nur:Speichern und schließen Sie das Skript und geben Sie "source .profile" (oder ggf. .bash_profile) ein. Wenn Sie also "Musik öffnen" eingeben, wird Ihr Musikordner in der Nautilus-Benutzeroberfläche geöffnet und Sie sollten nichts in Ihr Terminal eingeben.
quelle
open
und$HOME/bin/open
PATH
als/bin
. Konventionell wird es, wenn Sie es haben$HOME/bin
, am Anfang des PATH vor allen Systemverzeichnissen hinzugefügt. In der Regel wird dies von Ihrem.profile
oder einem ähnlichen Unternehmen durchgeführt. Zum Beispiel macht die Standardeinstellung.profile
unter Ubuntu genau dies./dev/null
ist etwas launisch. Möglicherweise können Sie die Ausgabe an$HOME/.xsession-errors
oder eine solche umleiten , damit die Diagnose nicht vollständig verloren geht, falls Sie Fehler beheben müssen.xdg-open
, dies ist ein Shell-Problem.Traditionell können Sie den Befehl "see" verwenden. Welches verwendet nur Run-Mailcap. Dies funktioniert ohne Gnome und X usw.
quelle
run-mailcap
(und seine vielen Aliase), dass eine separate (und schrecklich veraltete) App-Zuordnungsdatenbank verwendet wird. Während in meinem System beispielsweise.mp3
Songs in VLC korrekt geöffnet werden, werden.txt
Dateien in weniger (anstelle von gedit).pdf
geöffnet und Dateien können einfach nicht geöffnet werden! (Fehler: Keine "Ansicht" Mailcap-Regeln für Typ "Anwendung / PDF" gefunden)run-mailcap
dass sie sie erkennen.xdg-open
intern verwendetgvfs-open
(auf Gnome-Systemen wie Ubuntu), die wiederum die MIME-Datenbankspezifikation von xdg verwendet, die weit mehr Anwendungen verwenden.gimp
Ich habe ein PDF mit mehr als 50 Seiten für mich geöffnet . Ich bleibe dabeixdg-open
.less
x''DGnom offen
quelle
xdg-open
wenn der Benutzer auf Gnome war (jetzt verwendet esgvfs-open
)Wenn Sie Ihre Mimen richtig eingerichtet haben, können Sie verwenden
mimeopen
. Schauen Sie sich die Manpage an, da sie einige nützliche Optionen bietet.quelle
In der Gnome Desktop-Umgebung verwende ich den folgenden Befehl:
Dies ist ähnlich wie "offen". Befehl in Mac
quelle
.
anstelle von „pwd
“ C) , wenn Sie ändernpwd
für eine Datei, würde Benutzer noch ENTER treffen müssen , nachdem Nautilus D) die erste Öffnung nautilus öffnet nur für sie die Datei zu öffnen ist eine sehr indirekte Lösung.