Nếu sử dụng xdg-open
để mở ứng dụng, sau đó sử dụngxdg-mime
để đặt ứng dụng mặc định cho loại mime nhất định (thông thường, cài đặt xdg-utils cung cấp cho bạn xdg-mime và các chương trình liên quan).
Ví dụ: để xem "filetype" (loại mime, nếu bạn muốn) của tệp đã cho:
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
Ví dụ thay đổi trình quản lý tệp mặc định để mở thư mục (có thể chọn caja.desktop (mặc định cho mint), nautilus.desktop (ubfox), v.v .:
$ xdg-mime default Thunar.desktop inode/directory
Và cũng làm locate -i foo.desktop
để xác minh rằng foo.desktop
trong thực tế tồn tại.
Thêm vào đó, để xem trình soạn thảo văn bản mặc định là gì,
$ xdg-mime query default text/plain
gedit.desktop
Để sử dụng trình soạn thảo văn bản mặc định khác (một lần nữa, hãy xác minh rằng tệp ".desktop" tồn tại):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
Bây giờ, bấm đúp vào "foo.txt" (trong trình quản lý tệp GUI của bạn) hoặc đang chạy xdg-open foo.txt
sẽ sử dụng gvim
thay vì gedit
.
Xử lý sự cố: đảm bảo rằng tệp ".desktop" cho một ứng dụng nhất định có thể được tìm thấy, vì nó phải được sử dụng với xdg-mime
tiện ích; ví dụ,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
Hơn nữa, điều này âm thầm không hoạt động như mong đợi nếu tệp ".desktop" không tồn tại:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
Tệp ".desktop" thực tế của emacs (trong env của tôi):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
Xem thêm: https://wiki.archlinux.org/index.php/xdg-open
/usr/share/applications/mimecache.info
tập tin dường như liệt kê các ứng dụng mặc định. Nó thậm chí còn khó hiểu hơn ...