Bagaimana perintah xdg-open tahu aplikasi mana yang digunakan untuk membuka file?
21
Saya mengharapkan perintah xdg-open untuk menggunakan aplikasi yang sama yang terbuka ketika saya mengklik dua kali file di manajer file default, tetapi ini tidak selalu benar.
Misalnya DE saya adalah XFCE, manajer file saya adalah Thunar dan penampil gambar default saya adalah Ristretto. Namun, xdg-open example.pngbuka contoh file PNG di Pinta. Mengapa?
xdg-open adalah alat desktop-independent untuk mengkonfigurasi aplikasi default pengguna. Banyak aplikasi menjalankan perintah xdg-open secara internal. Di dalam lingkungan desktop (seperti GNOME, KDE, atau Xfce), xdg-open hanya meneruskan argumen ke aplikasi pembuka file lingkungan desktop tersebut (mis. Gvfs-open, kde-open, atau exo-open). yang berarti bahwa asosiasi diserahkan kepada lingkungan desktop. Ketika tidak ada lingkungan desktop yang terdeteksi (misalnya ketika seseorang menjalankan window manager mandiri seperti misalnya. Openbox), xdg-open akan menggunakan file konfigurasinya sendiri.
Ini dapat dianggap sebagai jawaban secara formal tetapi sebenarnya tidak menjelaskan fenomena yang telah saya sebutkan.
Ivan
diperbarui, silakan periksa lagi
oxnz
Terima kasih. Dan ini sangat lucu: xdg-mime query default image/pngpengembalian wine-extension-png.desktop:-)
Ivan
2
@Van Itu mungkin terjadi, karena Anda tidak memberikan jenis file yang tepat ketika meminta aplikasi default. Penting adalah bagaimana xdg memanggil tipe file tertentu. Ini dapat dengan mudah ditemukan dengan menjalankan
xdg-mime query filetype example.png
Sebagai contoh, jika saya melakukan ini dengan file png tertentu di komputer saya itu kembali image/x-apple-ios-png. Setelah Anda mengetahui jenis file yang sebenarnya, Anda dapat menjalankannya
xdg-mime query default <new filetype>
dan dapatkan aplikasi yang digunakan oleh xdg untuk tipe file spesifik ini. Dalam hal tidak ada aplikasi yang ditentukan untuk tipe file ini, xdg-open memeriksa apakah file /etc/debian_versiontersedia, jika ini masalahnya, ia akan diluncurkan run-mailcap, yang sangat mirip dengan xdg-open dan mencoba mencari program untuk membuka file juga .
Hanya jika ini gagal juga, xdg-open akan meminta pengguna untuk menentukan program untuk membuka file.
oxny hanya menyebutkan cara mengatur dan memeriksa aplikasi untuk tipe file yang dikenal. Dia tidak memiliki referensi untuk xdg-mime query filetype example.pngmemeriksa filetype dari file tertentu, karena hanya dengan asumsi bahwa file .png juga termasuk dalam kategori gambar / png tidak selalu benar. Melihat komentar Ivan , saya pikir masalahnya belum terselesaikan.
xdg-mime query default image/png
pengembalianwine-extension-png.desktop
:-)@Van Itu mungkin terjadi, karena Anda tidak memberikan jenis file yang tepat ketika meminta aplikasi default. Penting adalah bagaimana xdg memanggil tipe file tertentu. Ini dapat dengan mudah ditemukan dengan menjalankan
Sebagai contoh, jika saya melakukan ini dengan file png tertentu di komputer saya itu kembali
image/x-apple-ios-png
. Setelah Anda mengetahui jenis file yang sebenarnya, Anda dapat menjalankannyadan dapatkan aplikasi yang digunakan oleh xdg untuk tipe file spesifik ini. Dalam hal tidak ada aplikasi yang ditentukan untuk tipe file ini, xdg-open memeriksa apakah file
/etc/debian_version
tersedia, jika ini masalahnya, ia akan diluncurkanrun-mailcap
, yang sangat mirip dengan xdg-open dan mencoba mencari program untuk membuka file juga .Hanya jika ini gagal juga, xdg-open akan meminta pengguna untuk menentukan program untuk membuka file.
sumber
xdg-mime query filetype example.png
memeriksa filetype dari file tertentu, karena hanya dengan asumsi bahwa file .png juga termasuk dalam kategori gambar / png tidak selalu benar. Melihat komentar Ivan , saya pikir masalahnya belum terselesaikan.