Freedesktop.org (trước đây gọi là Nhóm X Desktop, do đó viết tắt "XDG") là nhóm hiện đang lái các tiêu chuẩn X như thế này ( tìm hiểu thêm tại Wikipedia ).
Câu trả lời của warvariuc đã đề cập đến việc sử dụng xdg-mime như:
xdg-mime default xnview.desktop image/jpeg
Sau nhiều lần chơi với người chỉnh sửa hình ảnh và người xem, tôi đã kết thúc với những người xem khác nhau cho các loại hình ảnh khác nhau mà hầu như không có sự thống nhất, đặc biệt là trong số các loại hình ảnh hiếm hơn.
Tôi đã nhận lệnh trên và gán nó cho từng loại MIME do người xem hình ảnh kiểm soát và sau đó tạo một cái mới image-viewer.desktop
bằng cách nhân bản một trong số chúng (đây là tùy chọn, bạn chỉ có thể sử dụng lại yêu thích của mình). Tiếp theo, tôi đã xác minh thủ công rằng không có loại MIME nào không tương thích với ứng dụng ưa thích mới của tôi. Cuối cùng, tôi đặt ứng dụng đó thành mặc định cho tất cả các loại MIME của các ứng dụng khác:
sed '/^MimeType=/!d; s///; s/;/\n/g' \
/usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
|xargs xdg-mime default image-viewer.desktop
Việc này kiểm tra các .desktop
tệp cho từng người xem ( Ristretto , Geeqie và GThumb trong trường hợp của tôi), trích xuất định nghĩa MIME (được mở đầu bằng MimeType=
và sau đó chứa danh sách được phân cách bằng dấu chấm phẩy), xóa nhãn tiền tố (đã khớp trước đó) và xóa nhãn chia danh sách thành một mục trên mỗi dòng. sort -u
sau đó xóa các dòng thừa, sau đó chúng được chuyển sang xdg-mime
để đặt mặc định mới.
(Nếu bạn muốn kiểm tra điều này trước khi chạy trực tiếp, hãy đổi xargs
thành xargs echo
và nó sẽ in lệnh kết quả thay vì chạy nó.)
Kỹ thuật này sẽ hoạt động cho bất cứ điều gì bạn muốn lấy lại cho một ứng dụng mục tiêu. Bạn thậm chí không cần tạo một .desktop
tệp mới (bạn có thể sử dụng tệp hiện có). Tôi đã thực hiện thêm bước đó để khi tôi chắc chắn thay đổi lòng trung thành của mình giữa những người xem trước hình ảnh, tôi chỉ cần thay đổi một tệp đó.
/usr/share/applications
.desktop
tệp, có lệnh tạo lại cơ sở dữ liệu MIME đó để xem các liên kết mới đang hoạt động không?