Temukan aplikasi default untuk ekstensi tertentu

12

Mengingat xdg-open dan ekstensi, apakah ada cara untuk mendapatkan aplikasi yang diatur untuk xdg-open untuk ekstensi tertentu?

Misalnya diberikan xdg-opendan .jpghasilnya adalah eog.

sjsam
sumber
1
OS apa yang Anda gunakan?
heemayl
Ini adalah Ubuntu Trusty.
sjsam

Jawaban:

13

AFAIK pilihan tindakan didasarkan pada mimetype file daripada ekstensi.

Setidaknya di Ubuntu, Anda harus dapat menggunakan querytindakan xdg-mimeuntuk menampilkan aplikasi default untuk mimetype tertentu

$ xdg-mime query default image/jpeg
eog.desktop

Anda dapat memeriksa mimetype untuk file tertentu menggunakan xdg-mime query filetypemis

$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg

atau menggunakan fileperintah misfile --mime-type <file>

Lihat man xdg-mimeuntuk informasi penggunaan lebih lanjut.

Steeldriver
sumber
mungkin layak disebutkan kepada OP bahwa cara Anda mendapatkan tipe pantomim untuk filetype jpeg adalahxdg-mime query filetype <file_you_want_the_mimetype_of>
the_velour_fog
@the_velour_fog poin bagus - ditambahkan
steeldriver
Sayangnya xdg-mime query defaulttidak selalu berhasil jika xdg-openhanya memanggil alat yang mendasarinya (misalnya pcmanfm); contoh yang Anda gunakan dalam jawaban Anda tidak mengembalikan apa pun pada sistem LXDE saya.
Stephen Harris
Terima kasih, saya akan memilih opsi pertama di sini,var="xdg-mime query default image/jpeg" && $(${var%.desktop})
sjsam
5

Untuk meminta tipe mime yang digunakan oleh file yang ada dengan menggunakan xdg-utils, itu berfungsi sebagai:

$ xdg-mime query filetype yourfile.xxx

Anda juga dapat menetapkan default baru, misalnya untuk mengubah entri desktop terkait dengan menetapkan Thunar - manajer file modern untuk Lingkungan Desktop Xfce - sebagai browser file default yang harus Anda masukkan:

$ xdg-mime default Thunar.desktop inode/directory

Atau misalnya untuk mengatur aplikasi default untuk http(s)://protokol internet, Anda dapat menggunakan:

$ xdg-mime default midori.desktop x-scheme-handler/http

OR

$ xdg-mime default midori.desktop x-scheme-handler/https
FarazX
sumber
Ini tidak terbatas pada rpmsistem berbasis; itu adalah bagian dari desktop standar dan berfungsi di Debian (misalnya). Sayangnya ini adalah cara menetapkan nilai default; itu tidak mengatakan bagaimana menemukan nilai yang ditetapkan. Dan xdg-mime query defaulttidak selalu melaporkan apa yang akan dilakukan jika xdg-openmemanggil program desktop yang mendasarinya (misalnya pcmanfmpada LXDE).
Stephen Harris
@StephenHarris Saya pikir opsi mungkin berbeda. Terima kasih sudah memberi tahu saya.
FarazX
Ini harus menjadi jawaban yang diterima.
navigaid