Xdg-open komutu bir dosyayı açmak için hangi uygulamanın kullanılacağını nasıl bilir?


21

Xdg-open komutunun, varsayılan dosya yöneticisinde dosyayı çift tıklattığımda açılan aynı uygulamayı kullanmasını beklerim, ancak bu her zaman doğru değildir.

Örneğin DE'm XFCE, dosya yöneticim Thunar ve varsayılan resim görüntüleyicim Ristretto. Ancak, xdg-open example.pngörnek PNG dosyasını Pinta'da açar. Neden?

Yanıtlar:


23

xdg-open, bir kullanıcının varsayılan uygulamalarını yapılandırmak için masaüstünden bağımsız bir araçtır. Birçok uygulama dahili olarak xdg-open komutunu çağırır. Bir masaüstü ortamında (GNOME, KDE veya Xfce gibi), xdg-open argümanları bu masaüstü ortamının dosya açıcı uygulamasına (örn. Gvfs-open, kde-open veya exo-open) iletir. yani ilişkilendirmeler masaüstü ortamına bırakılır. Masaüstü ortamı algılanmadığında (örneğin, örneğin Openbox gibi bağımsız bir pencere yöneticisi çalıştırıldığında), xdg-open kendi yapılandırma dosyalarını kullanır.

kimden archwiki

sorunuza özgü olarak, png dosyasıyla ilişkili varsayılan uygulamayı ayarlamak için bunu deneyebilirsiniz:

xdg-mime default <ristretto.desktop> image/png

Ristretto'nun masaüstü dosya adının tam olarak ne olduğunu bulmanız gerekir. daha sonra bunu kontrol edebilirsiniz:

xdg-mime query default image/png

1
Bu resmi olarak bir cevap olarak düşünülebilir, ancak aslında bahsettiğim fenomeni açıklamıyor.
Ivan

güncellendi, lütfen tekrar kontrol edin
oxnz

Teşekkürler. Ve bu çok komik: xdg-mime query default image/pngdöner wine-extension-png.desktop:-)
Ivan

2

@Bu olasılıkla olur, çünkü varsayılan uygulamayı isterken doğru dosya tipini vermediniz. Önemli xdg bu dosya türünü nasıl çağırır. Bu, koşarak kolayca bulunabilir

xdg-mime query filetype example.png

Örnek olarak, bunu bilgisayarımda belirli bir png dosyasıyla yaparsam geri döner image/x-apple-ios-png. Gerçek dosya türünü öğrendikten sonra,

xdg-mime query default <new filetype>

ve bu belirli dosya türü için xdg tarafından kullanılan uygulamayı edinin. Bu dosya türü için hiçbir uygulama tanımlanmamışsa, xdg-open dosyanın /etc/debian_versionkullanılabilir olup olmadığını kontrol eder , bu durumda başlatılır run-mailcap, xdg-open'a çok benzer ve dosyayı açmak için bir program bulmaya çalışır .

Yalnızca bu da başarısız olursa, xdg-open kullanıcıdan dosyayı açmak için bir program tanımlamasını ister.


Öküzün zaten yazdığı bu değil mi?
Jeff Schaller

oxny yalnızca uygulamanın bilinen bir dosya türünün nasıl ayarlanıp denetleneceğinden bahseder. xdg-mime query filetype example.pngBelirli bir dosyanın dosya türünü kontrol etmek için referansı yoktur , çünkü bir .png dosyasının da resim / png kategorisine düştüğü her zaman doğru değildir. Ivan'ın yorumlarına baktığımda, sorunun henüz çözülmediğini düşünüyorum.
lauve
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.