Yanıtlar:
Dosya yöneticisi (Nautilus, varsayılan olarak) hangi programın açılacağını belirlemek için MIME türünü kullanır . Bir uygulama yüklendiğinde, hangi MIME türlerini açabileceğini ve içinde yer alan .desktop dosyasındaki dosyaları açmak için kullanılacak komutu belirtebilir /usr/share/applications
. Bu, menüler, masaüstü kısayolları vb. İçin kullanılan dosyadır.
Örneğin, GIMP aşağıdaki .desktop dosyasına sahiptir:
[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;
MimeType
Alana bakın - bu desteklenen MIME türlerini listeler. Exec
Alan sisteme komutu kullanmasını, gimp-2.7 %U
'% U' yerine açılan dosyaları değiştirmesini söyler . (Not GIMP 2.7, bir PPA'dan yüklediğim bir sürümdür, bu nedenle Ubuntu depolarındaki geçerli sürümden daha yüksektir).
Uygulama paketi yüklendiğinde, sistem bu MIME türü verilerini daha kolay erişilebilir bir veritabanına ayıklar, çünkü her .desktop dosyasına bakmak, her dosya açıldığında çok uzun sürecektir.
Bu neyi uygulamalar sistemi anlatır olabilir o MIME türü için kullanılmış ve 'Aç ile' listesinde uygulamaları sağlar edilebilir. Varsayılan başka yerde tanımlanmıştır. Dosya /usr/share/applications/defaults.list
, sistem varsayılanları için bilgi sağlar. Aksi bir seçim yapmazsanız, bunlar bir dosyayı 'Açtığınızda' kullanılan uygulamalardır.
sudo update-desktop-database
Bakınız jarrpa.net/2011/10/28/…
/usr/local/share/applications
. Sanırım varsayılan olarak gtk da orada görünüyor. Sistemimde var, ancak Ubuntu 7.04'ten bu yana yükseltildi (yeniden yüklenmedi).
Dv3500ea'nın mükemmel cevabını desteklemek için, derneklerinizi değiştirdiğinizde ne olacağı hakkında biraz bilgi eklemek istiyorum.
Defaults.list ('locult defaults.list' yazarak bulabileceğiniz) yazarak bulabilirsiniz) her MIME türüyle ilişkilendirilmiş uygulamaların listesini sağlarken, yaptığınız tüm özelleştirmeler ana dizininizde ~ / .local / share / uygulamalar / mimeapps.list. Böylece ilişkilendirmeler ekler veya çıkarırsanız veya varsayılan ilişkilendirmeyi değiştirirseniz, bu dosya güncellenir.
Http://library.gnome.org/admin/system-admin-guide/stable/ adresindeki GNOME Masaüstü Sistem Yönetim Kılavuzu, mimeapps.list’i tartışıyor gibi görünmüyor, ancak aşağıdaki açıklamayı http: //live.gnome adresinde buldum. .org / SysAdminGuideUpdate :
mimeapps.list, $ XDG_DATA_DIRS / uygulamalarında bulunur. Amacı, mime ilişkilerini uygulamalara eklemek veya kaldırmaktır. Kullanıcı "Birlikte Aç" iletişim kutusunda değişiklik yaptığında nautilus ~ / .local / share / applications / mimeapps.list yazar.
mimeapps.list
girişlerin geçersiz kıldığını fark ettim defaults.list
.
~/.local/share/applications/mimeapps.list
14.04'te s / vlc / mplayer / in içindeydim ve pcmanfm gibi çalışan işlemler yeniden başlatmadan değişiklikleri aldı. (mplayer.desktop sadece mplayer'ı çalıştırıyor. / usr / local içinde eski bir mplayer kurulumundan bir tane yalan söyledim sanırım. MimeType=list;
İhtiyacı olup olmadığına IDK vardı.
mimeapps.list
aşağıdaki arama yolunda herhangi bir yerde olabilir: specifications.freedesktop.org/mime-apps-spec/...
Sistemimde (Debian Jessie) ayrıca ~/.config/mimeapps.list
gedit ile belirli bir dosya türünü açmak için yanlışlıkla oluşturduğum bir ilişkimin olduğunu buldum. Bunu düzeltmenin standart yollarından hiçbiri (varsayılan uygulama ayarları, Thunar'ın özellikli açık ) bunu yansıtmıyordu, ancak gedit varsayılan uygulama oldu.
Satırı kaldırdım ~/.config/mimeapps.list
ve şimdi doğru uygulama dosyayı açar.
~/.config/mimeapps.list
.
mimeapps.list
aşağıdaki arama yolunda herhangi bir yerde olabilir: specifications.freedesktop.org/mime-apps-spec/...
Varsayılan bağlantıyla ilgili bu bağlantıyı buldum, yardımcı olabilir.
https://wiki.archlinux.org/index.php/Default_
Global birleşme için başvurular:
/usr/share/applications/mimeapps.list
kullanıcı derneği başına:
~/.local/share/applications/mimeapps.list
sözdizimi aşağıdaki gibidir:
[Added Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
...
[Removed Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
[Eklenen İlişkiler] bölümü, tercih edilen azalan tercihlerde (varsayılan) uygulamaları belirtmek için kullanılır. Bu, desktopfile1'in en çok tercih edilen ve desktopfileN'nin en az tercih edilen olduğu anlamına gelir .
[Kaldırılan İlişkiler] bölümü, daha önce devralınan ilişkilendirmeleri açıkça kaldırmak için kullanılır.
/usr/share/applications/mimeapps.list
geçerli değil , mevcut değil.
mimeapps.desktop
defaults.desktop
Bir dosya oluşturun truecrypt.desktop
içinde ~/.local/share/applications
aşağıdaki çizgilerle:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=
Exec=/usr/bin/truecrypt %U
Name=truecrypt
Comment=manage truecrypt volumes
sonra dosyayı düzenleyin ~/.local/share/applications/mimeapps.list
ve aşağıdaki satırı ekleyin:
application/octet-stream=truecrypt.desktop
Bu komutu çalıştırarak Truecrypt'ın mime türünü öğrendim:
file --mime-type -b <any truecrypt filename>
mimeapps.list
arama yolu
Diğerleri bu dosyadan bahsetti, ancak hiçbiri yerini tam olarak açıklayamadı.
Freedesktop.org standardı https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html adresinde yazmaktadır :
Bu dosya için arama sırası aşağıdaki gibidir:
$XDG_CONFIG_HOME/$desktop-mimeapps.list user overrides, desktop-specific (for advanced users)
$XDG_CONFIG_HOME/mimeapps.list user overrides (recommended location for user configuration GUIs)
$XDG_CONFIG_DIRS/$desktop-mimeapps.list sysadmin and ISV overrides, desktop-specific
$XDG_CONFIG_DIRS/mimeapps.list sysadmin and ISV overrides
$XDG_DATA_HOME/applications/$desktop-mimeapps.list for completeness, deprecated, desktop-specific
$XDG_DATA_HOME/applications/mimeapps.list for compatibility, deprecated
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list distribution-provided defaults, desktop-specific
$XDG_DATA_DIRS/applications/mimeapps.list distribution-provided defaults
ve sonra bu ortam değişkenleri için varsayılan değerler https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html adresinde verilmiştir :
$XDG_DATA_HOME
: $HOME/.local/share
$XDG_CONFIG_HOME
: $HOME/.config
$XDG_DATA_DIRS
: none, eklenmiş XDG_DATA_HOME
$XDG_CONFIG_DIRS
: none, eklenmiş XDG_CONFIG_HOME
Ubuntu'nun eski sürümleri kontrol edemeyebilir ~/.config
, bu yüzden ~/.local/share
de denediğinizden emin olun .
Komutlar gibi:
xdg-settings set default-web-browser chromium-browser.desktop
xdg-settings get default-web-browser
bu dosyaları otomatik olarak düzenleyecektir.
Bütün kullanıcılar için:
/usr/share/applications/defaults.list
Her kullanıcı, bu varsayılanları geçersiz kılmak için bir yapılandırma dosyasına sahiptir:
~ / .Config / mimeapps.list
ayrıca varsayılanları geçersiz kılmak için kullanılabilecek yerler için https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html adresini ziyaret edin .
Dernek değiştirmek istediğiniz dosyanın mime tipini bilmelisiniz.
Ayrıca tüm ilişkilendirmeler aşağıdakileri kullanarak komut satırında değiştirilebilir:
xdg-mim
Freedesktop.org (daha önce X Masaüstü Grubu olarak adlandırılan, bu nedenle "XDG" kısaltması) şu anda X standartlarını yönlendiren gruptur ( Wikipedia'da daha fazla bilgi edinin ).
warvariuc'ın cevabı , xdg-mime gibi kullanımlardan zaten bahsetti :
xdg-mime default xnview.desktop image/jpeg
Görüntü düzenleyicileri ve izleyicileriyle çok fazla oynadıktan sonra, özellikle daha nadir görüntü türleri arasında, neredeyse hiç tutarlı olmayan farklı görüntü türleri için farklı görüntüleyicilerle bitirdim.
Yukarıdaki komutu aldım ve görüntü izleyiciler tarafından kontrol edilen MIME türlerinin her birine atadım ve image-viewer.desktop
bunlardan birini klonlayarak yeni bir tane yarattım (bu isteğe bağlıdır, sadece en sevdiğiniz şeyi yeniden kullanabilirsiniz). Ardından, MIME türlerinden hiçbirinin yeni tercih edilen uygulamamla uyumlu olmadığını elle de doğruladım. Son olarak, bu uygulamayı diğer tüm uygulamaların MIME türleri için varsayılan olarak ayarlıyorum:
sed '/^MimeType=/!d; s///; s/;/\n/g' \
/usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
|xargs xdg-mime default image-viewer.desktop
Bu .desktop
, izleyicilerin her birinin dosyalarını inceler ( benim durumumda Ristretto , Geeqie , ve GThumb ), MIME tanımını çıkarır (ön MimeType=
- yüzlü ve sonra noktalı virgülle ayrılmış bir liste içerir), (daha önce eşleşen) ön etiketini kaldırır ve Listeyi satır başına bir girişe böler. sort -u
sonra gereksiz satırları kaldırır, ardından xdg-mime
yeni varsayılanları ayarlamak için verilir.
(Canlı çalıştırmadan önce bu test etmek isterseniz, değiştirmek xargs
için xargs echo
ve bunu çalışan çıkan komutu yerine yazdırılır.)
Bu teknik, bir hedef uygulama için geri almak istediğiniz herhangi bir şey için çalışmalıdır. Yeni bir .desktop
dosya oluşturmanız bile gerekmez (mevcut olanı kullanabilirsiniz). Bu ekstra adımı yaptım, böylece kaçınılmaz olarak resim önizleyicilere olan bağlılığımı değiştirdiğimde, sadece bu dosyayı değiştirmem gerekiyor.
18.04 Ubuntu'da öncelik sırasını en güçlüden en zayıfına şu şekilde buldum:
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
("Başka Uygulama ile Aç" bunu güncelleyecektir)~/.local/share/applications/mimeapps.list
mimeinfo.cache
Uyumlu uygulamaların kayıt defterinde ilk kez karşılaşılan ve .desktop
içinde mevcut olan dosyalardan üretilen ve kullanılarak yeniden üretilebilen eşleşme ./usr/share/applications
/usr/local/share/applications
update-desktop-database
/etc/gnome/defaults.list
/usr/share/applications
.desktop
Dosyalardaki MIME türlerini değiştirdikten sonra , yeni ilişkilendirmeleri çalışırken görmek için bu MIME veritabanını yeniden oluşturma komutu var mı?