Manajer file (Nautilus, secara default) menggunakan tipe file MIME untuk menentukan program mana yang akan dibuka. Ketika aplikasi diinstal, ia dapat menentukan jenis MIME apa yang dapat dibuka dan perintah yang digunakan untuk membuka file dalam file .desktop yang ditempatkan /usr/share/applications
. Ini adalah file yang digunakan untuk menu, pintasan desktop, dll.
Misalnya, GIMP memiliki file .desktop berikut:
[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;
Lihat MimeType
bidang - ini mencantumkan jenis MIME yang didukung. Exec
Bidang ini memberitahu sistem untuk menggunakan perintah gimp-2.7 %U
, menggantikan '% U' dengan file yang akan dibuka. (Catatan GIMP 2.7 adalah versi yang telah saya instal dari PPA, jadi lebih tinggi dari versi saat ini di repositori Ubuntu).
Ketika paket aplikasi diinstal, sistem mengekstrak data tipe MIME ini ke dalam basis data yang lebih mudah diakses karena melihat di setiap file .desktop akan memakan waktu terlalu lama jika dilakukan setiap kali file dibuka.
Ini memberi tahu sistem aplikasi apa yang dapat digunakan untuk tipe MIME itu dan menyediakan aplikasi dalam daftar 'Open With'. Defaultnya didefinisikan di tempat lain. File /usr/share/applications/defaults.list
menyediakan informasi untuk standar sistem. Kecuali Anda memilih sebaliknya, ini adalah aplikasi yang digunakan saat Anda 'Membuka' file.
/usr/share/applications
.desktop
file, apakah ada perintah untuk membuat kembali database MIME untuk melihat asosiasi baru beraksi?sudo update-desktop-database
Lihat jarrpa.net/2011/10/10/28/.../usr/local/share/applications
. Saya pikir gtk terlihat di sana juga, secara default. Itu pada sistem saya, tetapi sudah ditingkatkan (tidak diinstal ulang) sejak Ubuntu 7.04 atau lebih.Untuk melengkapi jawaban luar biasa dv3500ea, saya ingin menambahkan beberapa informasi tentang apa yang terjadi ketika Anda mengubah asosiasi Anda.
Sementara defaults.list (yang dapat Anda temukan dengan mengetikkan 'loc defaults.list') memberikan daftar aplikasi yang terkait dengan setiap jenis MIME, setiap kustomisasi yang Anda buat disimpan di direktori home Anda, di ~ / .local / bagikan / aplikasi / mimeapps.list. Jadi, jika Anda menambah atau menghapus asosiasi, atau mengubah asosiasi default, file ini diperbarui.
Panduan Administrasi Sistem Desktop GNOME di http://library.gnome.org/admin/system-admin-guide/stable/ tampaknya tidak membahas mimeapps.list, tetapi saya menemukan uraian berikut di http: //live.gnome .org / SysAdminGuideUpdate :
sumber
mimeapps.list
itu ditimpa oleh entri didefaults.list
.~/.local/share/applications/mimeapps.list
, dan menjalankan proses seperti pcmanfm mengambil perubahan tanpa memulai ulang. (mplayer.desktop hanya menjalankan mplayer. Saya punya satu yang tergeletak di instal mplayer lama di / usr / local, saya kira. IDK jikaMimeType=list;
diperlukan atau tidak.mimeapps.list
bisa di mana saja di jalur pencarian berikut: spesifikasi.freedesktop.org/mime-apps-spec/…Saya menemukan bahwa di sistem saya (Debian Jessie) ada juga
~/.config/mimeapps.list
yang memiliki asosiasi yang secara tidak sengaja saya buat untuk membuka jenis file tertentu dengan gedit. Tidak ada cara standar untuk memperbaiki ini (pengaturan aplikasi default, Thunar terbuka dengan properti) mencerminkan hal ini, tetapi gedit adalah aplikasi default.Saya dapat menghapus garis dari
~/.config/mimeapps.list
dan sekarang aplikasi yang benar membuka file.sumber
~/.config/mimeapps.list
.mimeapps.list
dapat di mana saja di jalur pencarian berikut: spesifikasi.freedesktop.org/mime-apps-spec/…Saya menemukan tautan ini tentang asosiasi default, mungkin bermanfaat. https://wiki.archlinux.org/index.php/Default_Applications
untuk asosiasi global:
per asosiasi pengguna:
sintaksnya adalah sebagai berikut:
Bagian [Added Associations] digunakan untuk menentukan aplikasi yang disukai (default) dalam mengurangi preferensi. yang berarti desktopfile1 adalah yang paling disukai dan desktopfileN paling tidak disukai.
Bagian [Asosiasi Dihapus] digunakan untuk menghapus secara eksplisit asosiasi yang diwarisi sebelumnya.
sumber
/usr/share/applications/mimeapps.list
tidak ada.mimeapps.desktop
dengandefaults.desktop
Saya dapat mengatur asosiasi seperti ini:
Anda juga dapat menghapus asosiasi dan melakukan hal-hal lain:
man xdg-mime
Saya tidak perlu lari
sudo update-desktop-database
.sumber
Buat file
truecrypt.desktop
di~/.local/share/applications
dengan baris berikut:kemudian edit file
~/.local/share/applications/mimeapps.list
dan tambahkan baris berikut:Saya menemukan tipe mime dari Truecrypt dengan mengikuti menjalankan perintah ini:
sumber
mimeapps.list
jalur pencarianOrang lain telah menyebutkan file ini, tetapi tidak ada yang menjelaskan lokasinya dengan tepat.
Standar freedesktop.org mengatakan di https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html :
dan kemudian nilai default untuk variabel lingkungan tersebut diberikan di https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html :
$XDG_DATA_HOME
:$HOME/.local/share
$XDG_CONFIG_HOME
:$HOME/.config
$XDG_DATA_DIRS
: tidak ada, ditambahkan keXDG_DATA_HOME
$XDG_CONFIG_DIRS
: tidak ada, ditambahkan keXDG_CONFIG_HOME
Versi Ubuntu yang lebih lama mungkin tidak memeriksa
~/.config
, jadi pastikan Anda juga mencoba~/.local/share
.Perintah seperti:
akan secara otomatis mengedit file-file itu.
sumber
Untuk semua pengguna:
Setiap pengguna memiliki file konfigurasi untuk mengganti default ini:
lihat juga https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html untuk tempat-tempat yang mungkin digunakan untuk mengganti defaut.
Anda harus mengetahui tipe mime dari file yang ingin Anda ubah hubungannya.
Juga semua asosiasi dapat ditangani-diubah di baris perintah menggunakan:
sumber
Freedesktop.org (sebelumnya bernama X Desktop Group, dengan demikian singkatan "XDG") adalah grup yang saat ini mengendarai standar X seperti ini ( pelajari lebih lanjut di Wikipedia ).
Jawaban warvariuc sudah menyebutkan penggunaan xdg-mime seperti:
Setelah banyak bermain dengan editor gambar dan pemirsa, saya berakhir dengan pemirsa yang berbeda untuk jenis gambar yang berbeda dengan hampir tidak ada konsistensi, terutama di antara jenis gambar yang lebih jarang.
Saya mengambil perintah di atas dan menetapkannya untuk masing-masing jenis MIME yang dikendalikan oleh pemirsa gambar dan kemudian membuat yang baru
image-viewer.desktop
dengan mengkloning salah satu dari mereka (ini opsional, Anda hanya dapat menggunakan kembali favorit Anda). Selanjutnya, saya memverifikasi secara manual bahwa tidak ada tipe MIME yang tidak sesuai dengan aplikasi pilihan saya yang baru. Akhirnya, saya menetapkan aplikasi itu sebagai default untuk semua jenis MIME aplikasi lain:Ini memeriksa
.desktop
file untuk masing-masing pemirsa ( Ristretto , Geeqie , dan GThumb dalam kasus saya), mengekstrak definisi MIME (yang diawali olehMimeType=
dan kemudian berisi daftar tanda titik koma), menghapus label kata pengantar (yang sebelumnya cocok), dan membagi daftar menjadi satu entri per baris.sort -u
kemudian menghapus garis-garis yang berlebihan, lalu mereka diserahkanxdg-mime
untuk mengatur default baru.(Jika Anda ingin menguji ini sebelum menjalankannya langsung, ubah
xargs
kexargs echo
dan itu akan mencetak perintah yang dihasilkan alih-alih menjalankannya.)Teknik ini harus bekerja untuk apa pun yang Anda ingin mendapatkan kembali untuk aplikasi target. Anda bahkan tidak perlu membuat
.desktop
file baru (Anda dapat menggunakan yang sudah ada). Saya melakukan langkah ekstra itu sehingga ketika saya mau tidak mau mengubah kesetiaan saya di antara pratinjau gambar, saya hanya perlu mengubah satu file itu.sumber
Di Ubuntu 18.04, saya telah menemukan urutan prioritas sebagai berikut, dari yang terkuat ke yang terlemah:
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
("Buka Dengan Aplikasi Lain" akan memperbarui ini)~/.local/share/applications/mimeapps.list
mimeinfo.cache
registri aplikasi yang kompatibel, yang dihasilkan dari.desktop
file yang ada pada/usr/share/applications
dan/usr/local/share/applications
, dan dapat dibuat kembali menggunakanupdate-desktop-database
./etc/gnome/defaults.list
sumber