Wenn ich kein defaults.list
und habe mimeapps.list
, xdg-open
öffnet sich text/plain
mit gvim
. Aber wenn ich schaffen defaults.list
in /usr/share/applications/
und fügen Sie die folgenden Zeilen:
[Default Applications]
text/plain=emacs.desktop
Es öffnet Textdateien mit Firefox.
Wenn ich jedoch /usr/share/applications/defaults.list
zu ~/.local/share/applications/mimeapps.list
gehe, werden Textdateien emacs
wie erwartet mit geöffnet .
Meine Fragen:
- Wie wird
xdg-open
bestimmt, welche Anwendung gestartet werden soll, wenn keinedefaults.list
und vorhanden sindmimeapps.list
? - Warum wird
xdg-open
Firefox verwendet, wenn ich einfach schreibe/usr/share/applications/defaults.list
?
Ich benutze Arch Linux.
arch-linux
freedesktop
defaults
Gradient
quelle
quelle
/usr/share/applications/mimecache.info
Datei aufgefallen, in der die Standardanwendungen aufgelistet zu sein scheinen. Es ist noch verwirrender ...~/.config/mimeapps.list
Antworten:
Wenn Sie
xdg-open
zum Öffnen von Anwendungen verwendenxdg-mime
, legen Sie mit die Standardanwendung für einen bestimmten MIME-Typ fest (bei der Installation von xdg-utils erhalten Sie in der Regel xdg-mime und verwandte Programme).Um zum Beispiel den "Dateityp" (wenn Sie so wollen MIME-Typ) einer bestimmten Datei zu sehen:
Beispiel zum Ändern des Standard-Dateimanagers zum Öffnen von Verzeichnissen (z. B. caja.desktop (Standard für mint), nautilus.desktop (ubuntu) usw.):
Und auch tun
locate -i foo.desktop
, um zu überprüfen, obfoo.desktop
es tatsächlich existiert.Mehr auf den Punkt, um zu sehen, was der Standard-Texteditor ist,
So verwenden Sie einen anderen Standardtexteditor (überprüfen Sie erneut, ob die Datei ".desktop" vorhanden ist):
Doppelklicken Sie nun entweder auf "foo.txt" (in Ihrem GUI-Dateimanager) oder
xdg-open foo.txt
verwenden Sie "running"gvim
anstelle vongedit
.Fehlerbehebung: Stellen Sie sicher, dass die ".desktop" -Datei für eine bestimmte Anwendung gefunden wird, da diese mit dem
xdg-mime
Dienstprogramm verwendet werden muss. z.B,Darüber hinaus funktioniert dies im Hintergrund nicht wie erwartet, wenn die Datei ".desktop" nicht vorhanden ist:
Die eigentliche emacs ".desktop" Datei (in meinem env):
Siehe auch: https://wiki.archlinux.org/index.php/xdg-open
quelle