Trong Firefox 38.8.0 ESR, trong Debian Lenny với Gnome 2, tôi phát hiện ra rằng ứng dụng được liên kết qua XDG (được mô tả trong câu trả lời của OP ) chỉ được sử dụng khi mở tệp đã tải xuống từ Tải xuống trong Thư viện.
Và ngay cả ở đó, việc triển khai cho kết quả không nhất quán xdg-open
vì nó bỏ qua các đường dẫn cụ thể của Gnome (trong trường hợp của tôi /usr/share/gnome/applications/defaults.list
, đó là một liên kết tượng trưng đến /etc/gnome-vfs-2.0/defaults.list
). Tôi đã phải xác định application/pdf=evince.desktop
trong của tôi ~/.local/share/applications/defaults.list
. (Lưu ý rằng defaults.list
đã được hợp nhất trong mimeapps.list
các phiên bản gần đây hơn của XDG.)
Thay vì XDG, các khả năng siêu dữ liệu (mailcap) được sử dụng để giải quyết ứng dụng được liên kết cho các trường hợp sử dụng sau:
- mở tệp đã tải xuống từ bảng tải xuống (hiển thị sau khi nhấn nút tải xuống trên thanh công cụ)
- ứng dụng mặc định trong hộp thoại tải xuống tập tin thả xuống
- ứng dụng mặc định trong trình đơn thả xuống trong Tùy chọn → Ứng dụng (
about:preferences#applications
)
Tùy chọn trong about:preferences#applications
được sử dụng khi điều hướng đến một URL có loại nội dung đó, trừ khi bắt buộc tải xuống.
Mailcap là một cơ chế cũ hơn XDG và có nguồn gốc từ e-mail, nơi MIME cũng đến. Các run-mailcap
tiện ích là tương tự như xdg-open
. Cấu hình của nó bao gồm ba tệp (ưu tiên giảm dần):
~/.mailcap
- mục người dùng
/etc/mailcap.order
- đặc điểm kỹ thuật đặt hàng trên toàn hệ thống
/etc/mailcap
- mục toàn hệ thống (cùng định dạng với mục người dùng)
Họ cùng nhau tạo ra một danh sách các mục nhập một dòng chỉ định ứng dụng sẽ được sử dụng cho bất kỳ loại MIME nào. Các mục được khớp từ trên xuống, vì vậy những gì đến trước được ưu tiên.
Để thực hiện thay đổi ưu tiên toàn hệ thống các mục nhập, bạn cần chỉnh sửa /etc/mailcap.order
và chạy update-mime
.
Để ghi đè một số mục hoặc chỉ định toàn bộ hệ thống của riêng bạn, bạn cần chỉnh sửa phần trên cùng (có nghĩa là cho các mục được tạo thủ công) /etc/mailcap
và chạy update-mime
. Xem các ý kiến trong phần đầu.
Đối với mục nhập và ghi đè người dùng, sử dụng ~/.mailcap
. Những thay đổi có hiệu lực ngay lập tức. Không ~/.mailcap.order
tồn tại; nếu bạn muốn thay đổi các mục nhập ưu tiên, hãy sắp xếp lại chúng một cách vật lý (nếu chúng ở trong ~/.mailcap
) hoặc ghi đè chúng bằng phiên bản ưa thích (nếu chúng ở trong /etc/mailcap
).
Xem man update-mime
, man mailcap
và man mailcap.order
.
Lưu ý rằng một số ứng dụng sử dụng các tiện ích chung (như x-www-browser
hoặc pager
) thay vì phát hiện ứng dụng ưa thích. Bạn có thể cần phải sử dụng update-alternatives
hoặc một cơ chế tương tự để chọn triển khai ưu tiên của một tiện ích chung trong bản phân phối của bạn. Hoặc, để ghi đè một lựa chọn ưu tiên trên toàn hệ thống cho một người dùng cụ thể, hãy đặt các biến môi trường như EDITOR
(hoặc VISUAL
) PAGER
và BROWSER
. Chúng được hỗ trợ bởi sensible-browser
và khác, thường là các công cụ cụ thể hơn (ví dụ: git commit
sử dụng EDITOR
và VISUAL
).