Jeśli używasz xdg-open
do otwierania aplikacji, użyj przycisku, xdg-mime
aby ustawić domyślną aplikację dla danego typu MIME (zazwyczaj zainstalowanie xdg-utils daje ci xdg-mime i powiązane programy).
Na przykład, aby zobaczyć „typ pliku” (typ MIME, jeśli chcesz) danego pliku:
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
Przykład zmiany domyślnego menedżera plików do otwierania katalogów (można wybrać caja.desktop (domyślnie dla mennicy), nautilus.desktop (ubuntu) itp.):
$ xdg-mime default Thunar.desktop inode/directory
A także zrobić, locate -i foo.desktop
aby sprawdzić, czy foo.desktop
tak naprawdę istnieje.
Co więcej, aby zobaczyć, jaki jest domyślny edytor tekstu,
$ xdg-mime query default text/plain
gedit.desktop
Aby użyć innego domyślnego edytora tekstu (ponownie, sprawdzając, czy plik „.desktop” istnieje):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
Teraz zamiast tego xdg-open foo.txt
zostanie użyte podwójne kliknięcie „foo.txt” (w menedżerze plików GUI) lub uruchomienie .gvim
gedit
Rozwiązywanie problemów: upewnij się, że można znaleźć plik „.desktop” dla danej aplikacji, ponieważ należy go użyć z xdg-mime
narzędziem; na przykład,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
Ponadto dyskretnie nie działa zgodnie z oczekiwaniami, jeśli plik „.desktop” nie istnieje:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
Rzeczywisty plik „.desktop” emacsa (w mojej env):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
Zobacz także: https://wiki.archlinux.org/index.php/xdg-open
/usr/share/applications/mimecache.info
plik, który wydaje się zawierać listę domyślnych aplikacji. Jest to jeszcze bardziej mylące ...