xdg-open öffnet eine andere Anwendung als die in der xdg-mime-Abfrage angegebene

7

Ich führe Debian Jessie ohne Desktop-Umgebung aus (ich verwende den Kachelfenster-Manager i3) und möchte xdg-openDateien schnell mit einer bevorzugten Anwendung öffnen. Ich habe jedoch ein anhaltendes Problem beim Einstellen der bevorzugten App für PDF-Dateien. Das ist mein Problem auf den Punkt gebracht:

$ xdg-mime query filetype ~/Downloads/document.pdf
application/pdf

$ xdg-mime query default application/pdf
/usr/share/applications/qpdfview.desktop

$ xdg-open ~/Downloads/document.pdf
[opens gimp!]

Alle Ideen wären sehr dankbar - das plagt mich seit ungefähr einem Jahr. Die einzige Möglichkeit, die ich jemals (vorübergehend) behoben habe, besteht darin mimeinfo.cache, die Referenz direkt zu bearbeiten und gimpaus dem application/pdfDatensatz zu entfernen .

Und ja, /usr/share/applications/qpdfview.desktopexistiert und enthält die korrekte Position der qpdfviewBinärdatei. (Tatsächlich wird diese .desktop-Datei verwendet, wenn ich sie von Hand bearbeite mimeinfo.cache.)

Tim
quelle

Antworten:

8

Sie können versuchen, es manuell über die Befehlszeile mit festzulegen mimeopen.

Beispiel

$ mimeopen -d ~/test.pdf

Please choose a default application for files of type application/pdf

    1) E-book Viewer  (calibre-ebook-viewer)
    2) Document Viewer  (evince)
    3) Xournal  (xournal)
    4) GNU Image Manipulation Program  (gimp)
    5) Xpdf PDF Viewer  (xpdf)
    6) Print Preview  (evince-previewer)
    7) Inkscape  (inkscape)
    8) calibre  (calibre-gui)
    9) Other...

use application #2
Opening "/home/saml/Downloads/test.pdf" with Document Viewer  (application/pdf)

Was dazu führt, dass meine PDF-Datei test.pdfin Evince geöffnet wird. Ab diesem Zeitpunkt ist Evince die Standardeinstellung, wenn ich benutze xdg-open.

Verweise

slm
quelle
2
Vielen Dank! Ich weiß immer noch nicht, warum das Problem überhaupt bestand, aber zumindest scheint die Standardeinstellung jetzt über ein apt-get dist-Upgrade hinaus bestehen zu bleiben.
Tim
@ Tim - froh, dass dies Ihr Problem gelöst hat.
slm
3
Warum funktioniert das, aber das Festlegen der Standardanwendung mit xdg-mimefunktioniert nicht? Das ist das Zeug, das mich verrückt macht! Um dies zu erläutern, habe ich versucht xdg-mime default /usr/share/applications/evince.desktop application/pdfund xdg-mime query filetype /some/file.pdfbestätigt, dass die Standardanwendung festgelegt wurde, xdg-openmeine Einstellungen jedoch vollständig ignoriert und stattdessen die Seitenansicht geöffnet.
Hubro
3
@Hubro xdg-openist ein Shell-Skript-Wrapper für Opener-Befehle verschiedener Desktop-Umgebungen. Ich denke, Sie könnten versuchen, zu rennen sh -x $(which xdg-open) /some/file.pdf, herauszufinden, welcher tatsächliche
Öffnerbefehl