Frage

Dies kann nicht sein streng über die Programmierung, aber wenn ich keine fertige Lösung findet es eine Programmieraufgabe werden kann: Auf UNIX, was ist eine Kommandozeilen-Methode für die Bestimmung Benutzer bevorzugte Anwendung für einen bestimmten Dateityp?

Meine ideale Lösung wäre hier ein Befehl sein, der mich angehalten, die folgendes zu tun:

okular foo.pdf

Und mir erlaubt, so etwas zu tun, mit meinem Set bevorzugter Anwendungen arbeiten:

launch foo.pdf

fand ich keine Antwort durch Suchen, und ein DIY-Ansatz nicht funktionieren würde wie, während ich habe für eine Weile Linux benutzen, ich habe keine Ahnung von den Interna, die meine bevorzugten Anwendungen verwalten.

War es hilfreich?

Lösung

Auf Unix per se , dass derjenige den Benutzer verwendet werden würde, um es zu öffnen, weil es keine OS-Ebene Begriff einer bevorzugten Anwendung ist.

Doch die große X-Desktop-Umgebung alle so ein Begriff, definieren und dann müssen Sie ihre Einrichtungen verwenden:

  • gnome-open in GNOME (duh)
  • [Siehe die Ausführungen im gnome link]
  • exo-open in XFCE
  • xdg-open kann in vielen Umgebungen arbeiten (angeblich funktioniert in KDE) [siehe die Ausführungen im gnome link]
  • einfach nur kfmclient exec (oder kfmclient4 exec) in KDE (ich habe es nicht gelungen, einen Verweis auf kde-open wie Rob H schlägt und kein KDE-System zur Hand hat, um es zu versuchen)

Jetzt Mac OS X bietet den open Befehl, wie auf die Datei im Finder arbeitet (das heißt, es das Betriebssystem fragt ...)


Einige Korrekturen dank ephemient in den Kommentaren. Ich werde nicht mailcap diskutieren, weil ich es nie verstanden und hatte vergessen, es existiert ...

Andere Tipps

Die Antwort in Abhängigkeit unterscheidet sich von der Desktop-Umgebung Ihre Verwendung. Da Sie OkularName erwähnt, werde ich Sie verwenden KDE zu übernehmen. Also versuchen Sie:

kde-open <file>

Für GNOME gibt es das Äquivalent:

gnome-open <file>

Um diese selbst zu beantworten, ich habe eine einfache (bash) definierte Funktion, dass die Arbeiten in der Art, wie ich erwarten:

function show { 
    xdg-open $1 &> NUL
    }

xdg offen war fast genau das, was ich wollte, aber es lässt hässliche Programm Warnungen durchrutschen in die Schale, die die oben fix scheint.

Danke alle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top