Câu trả lời:
AFAIK sự lựa chọn hành động dựa trên mô hình của tệp chứ không phải phần mở rộng của tệp.
Ít nhất là trên Ubuntu, bạn sẽ có thể sử dụng query
hành động xdg-mime
để hiển thị ứng dụng mặc định cho một mô hình cụ thể
$ xdg-mime query default image/jpeg
eog.desktop
Bạn có thể kiểm tra mimetype cho một tệp cụ thể bằng xdg-mime query filetype
vd
$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg
hoặc sử dụng file
lệnh, vdfile --mime-type <file>
Xem man xdg-mime
để biết thêm thông tin sử dụng.
xdg-mime query filetype <file_you_want_the_mimetype_of>
xdg-mime query default
không phải lúc nào cũng hoạt động nếu xdg-open
chỉ gọi một công cụ cơ bản (ví dụ pcmanfm
); ví dụ bạn đã sử dụng trong câu trả lời của mình không trả về gì trên hệ thống LXDE của tôi.
var="xdg-mime query default image/jpeg" && $(${var%.desktop})
Để truy vấn loại mime được sử dụng bởi một tệp hiện có bằng cách sử dụng xdg-utils
, nó hoạt động như sau:
$ xdg-mime query filetype yourfile.xxx
Ví dụ, bạn cũng có thể đặt mặc định mới để thay đổi mục nhập máy tính để bàn được liên kết bằng cách đặt Thunar - trình quản lý tệp hiện đại cho Môi trường màn hình Xfce - làm trình duyệt tệp mặc định bạn nên nhập:
$ xdg-mime default Thunar.desktop inode/directory
Hoặc ví dụ để đặt ứng dụng mặc định cho http(s)://
các giao thức internet, bạn có thể sử dụng:
$ xdg-mime default midori.desktop x-scheme-handler/http
OR
$ xdg-mime default midori.desktop x-scheme-handler/https
rpm
các hệ thống dựa trên; đó là một phần của máy tính để bàn tiêu chuẩn và hoạt động trên Debian (ví dụ). Thật không may, đây là cách đặt giá trị mặc định; Nó không nói làm thế nào để tìm giá trị nào được đặt. Và xdg-mime query default
không phải lúc nào cũng báo cáo những gì nó sẽ làm nếu xdg-open
gọi một chương trình máy tính để bàn cơ bản (ví dụ pcmanfm
trên LXDE).