У Firefox 38.8.0 ESR, під Debian Lenny з GNOME 2, я виявив, що додаток, пов’язаний через XDG (описаний у відповіді ОП ), використовується лише під час відкриття завантаженого файлу з завантажень у бібліотеці.
І навіть там реалізація дає результати, несумісні з тим xdg-open
, що вона ігнорує специфічні для GNOME шляхи (в моєму випадку /usr/share/gnome/applications/defaults.list
, які є символьним посиланням на /etc/gnome-vfs-2.0/defaults.list
). Мені довелося вказати application/pdf=evince.desktop
у своєму ~/.local/share/applications/defaults.list
. (Зауважте, що це defaults.list
було об'єднано в mimeapps.list
новіших версіях XDG.)
Замість XDG використовуються можливості мета-пошти (mailcap) для вирішення пов'язаної програми для таких випадків використання:
- відкриття завантаженого файлу з панелі завантаження (відображається після натискання кнопки завантаження на панелі інструментів)
- програма за замовчуванням у спадному діалоговому вікні завантаження файлів
- додаток за замовчуванням у спадному меню Налаштування → Програми (
about:preferences#applications
)
Налаштування в about:preferences#applications
використовується при переході до URL-адреси з таким типом вмісту, якщо завантаження не примусове.
Mailcap - це механізм, старший за XDG, і він має коріння в електронній пошті, звідки також надходить MIME. run-mailcap
Утиліта аналогічна xdg-open
. Його конфігурація складається з трьох файлів (із зменшенням переваги):
~/.mailcap
- записи користувачів
/etc/mailcap.order
- специфікація замовлення записів на загальну систему
/etc/mailcap
- загальносистемні записи (той же формат, що і записи користувачів)
Разом вони створюють список однорядних записів, які визначають додаток, який буде використовуватися для будь-якого типу MIME. Записи узгоджуються зверху вниз, тому перше, що має місце, має перевагу.
Щоб змінити пріоритет загальносистемних змін, вам потрібно відредагувати /etc/mailcap.order
та запустити update-mime
.
Щоб замінити деякі записи або вказати власну, загальносистемну, вам потрібно відредагувати верхній розділ (призначений для створених вручну записів) /etc/mailcap
та запустити update-mime
. Дивіться коментарі у верхньому розділі.
Для записів і переопределень користувачів використовуйте ~/.mailcap
. Зміни набувають чинності негайно. Не ~/.mailcap.order
існує; якщо ви хочете змінити пріоритет записів, переупорядкуйте їх фізично (якщо вони є ~/.mailcap
) або замініть їм бажану версію (якщо вони є /etc/mailcap
).
Дивіться man update-mime
, man mailcap
і man mailcap.order
.
Зауважте, що деякі програми використовують загальні утиліти (наприклад, x-www-browser
або pager
) замість виявлення бажаної програми. Можливо, вам доведеться скористатися update-alternatives
чи подібним механізмом для вибору кращої реалізації загальної утиліти у своєму дистрибутиві. Або, щоб замінити перевагу загальносистемної альтернативи для конкретного користувача, встановити змінні середовища, такі як EDITOR
(або VISUAL
) PAGER
та BROWSER
. Їх підтримують sensible-browser
і інші, часто більш конкретні інструменти (наприклад, git commit
використання EDITOR
та VISUAL
).