W przeglądarce Firefox 38.8.0 ESR, w Debianie Lenny z GNOME 2, odkryłem, że aplikacja powiązana z XDG (opisana w odpowiedzi OP ) jest używana tylko podczas otwierania pobranego pliku z Pobranych w Bibliotece.
I nawet tam implementacja daje niespójne wyniki, xdg-openponieważ ignoruje ścieżki specyficzne dla GNOME (w moim przypadku /usr/share/gnome/applications/defaults.listjest to dowiązanie symboliczne /etc/gnome-vfs-2.0/defaults.list). Musiałem sprecyzować application/pdf=evince.desktopw swoim ~/.local/share/applications/defaults.list. (Uwaga: defaults.listzostał scalony z mimeapps.listnowszymi wersjami XDG.)
Zamiast XDG, funkcje metamail (mailcap) są używane do rozwiązania powiązanej aplikacji w następujących przypadkach użycia:
- otwieranie pobranego pliku z panelu pobierania (wyświetlane po naciśnięciu przycisku pobierania na pasku narzędzi)
- domyślna aplikacja w rozwijanym oknie dialogowym pobierania pliku
- domyślna aplikacja w menu Preferencje → Aplikacje (
about:preferences#applications)
Preferencji w about:preferences#applicationsużywa się podczas nawigacji do adresu URL o tym typie treści, chyba że pobieranie jest wymuszone.
Mailcap jest mechanizmem starszym niż XDG i ma swoje korzenie w e-mailu, skąd również pochodzi MIME. run-mailcapNarzędzie jest analogiczna xdg-open. Jego konfiguracja składa się z trzech plików (malejących):
~/.mailcap - wpisy użytkownika
/etc/mailcap.order - Specyfikacja zamawiania wpisów systemowych
/etc/mailcap - wpisy ogólnosystemowe (taki sam format jak wpisy użytkownika)
Razem tworzą listę wpisów jednowierszowych, które określają aplikację, która będzie używana dla dowolnego typu MIME. Wpisy są dopasowywane od góry do dołu, więc pierwszeństwo ma to, co pierwsze.
Aby wprowadzić w systemie zmianę pierwszeństwa wpisów, musisz edytować /etc/mailcap.orderi uruchomić update-mime.
Aby zastąpić niektóre wpisy lub określić własne, ogólnosystemowe, musisz edytować górną sekcję (przeznaczoną do wpisów tworzonych ręcznie) /etc/mailcapi uruchomić update-mime. Zobacz komentarze w górnej części.
W przypadku wpisów użytkownika i przesłonięć użyj ~/.mailcap. Zmiany wchodzą w życie natychmiast. Nie ~/.mailcap.orderistnieje; jeśli chcesz zmienić pierwszeństwo wpisów, zmień ich kolejność fizycznie (jeśli są ~/.mailcap) lub zastąp je preferowaną wersją (jeśli są /etc/mailcap).
Zobacz man update-mime, man mailcapa man mailcap.order.
Zauważ, że niektóre aplikacje używają ogólnych narzędzi (takich jak x-www-browserlub pager) zamiast wykrywania preferowanej aplikacji. Może być konieczne użycie update-alternativeslub podobnego mechanizmu do wyboru preferowanej implementacji ogólnego narzędzia w dystrybucji. Lub, aby zastąpić ogólnosystemową preferowaną alternatywę dla konkretnego użytkownika, ustaw zmienne środowiskowe, takie jak EDITOR(lub VISUAL) PAGERi BROWSER. Są one obsługiwane przez sensible-browseri inne, często bardziej szczegółowe narzędzia (np. git commitZastosowania EDITORi VISUAL).