Varsayılan dosya yöneticisi nasıl bulunur?


22

Linux kullanıcısı olarak, bazı uygulamaların açılması için bir yol talep edebileceğini görüyorum ve bu da bir dosya yöneticisinin başlatılmasına neden oluyor. Bunu programlı olarak yapmak isterdim, ancak varsayılan dosya yöneticisinin hangisi olduğunu nasıl bilebilirim? Bu bilgiyi bulmanın bir yolu var mı? Herhangi bir ortam değişkeni? "Dosya yöneticisi" ile, dosyalarınızı yönetmenize izin veren uygulamaları kastettim: Nautilus (GNOME'da) veya Dolphin (KDE'de) gibi, oluştur, yeniden adlandır, klasörler oluştur.

Şimdiden teşekkürler!

Yanıtlar:


7

"Linux için Varsayılan Dosya Yöneticisi" diye bir şey yoktur. Her şey nasıl bir tane açmaya çalıştığınıza bağlı. XDG'ye sorarsanız, XDG'nin bu dosya yöneticisinin ne olduğunu düşündüğünü kontrol etmeniz gerekir. Gnome veya KDE gibi diğer "ortamlar" için de aynı fırsat. Hepsini yüklediyseniz, her birinin farklı bir "varsayılan dosya yöneticisi" olması mükemmel şekilde mümkün (ve iyi).

Varsayılan uygulamalar için durum esas olarak Windows'tan geliyor. Orada, sadece Windows’un bize sunduğu tek bir ortama sahibiz. Bu nedenle, varsayılan bir uygulama nosyonu gerçekten etkili bir şekilde sistem çapındadır. Linux ile durum böyle değil.

$ EDITOR ortam değişkeninde depolananlar gibi Linux altında varsayılan uygulamalar olarak algılayabileceğiniz şeyler, sistem araçları ve komut dosyaları yazan birçok kişi tarafından kullanılan bir kural kadar, "gerçek" bir varsayılan uygulama değildir. Kullanım durumunuza uygunsa, $ FILEMANAGER tanımlamaktan çekinmeyin.


Bunun için bir ortam değişkeni olabileceğini düşünüyordum ve aslında bir tanesini tanımlamayı düşündüm. Güzel cevap, çok teşekkür ederim.
Mauren

Sanırım XDG yerine XFCE mi demek istiyorsun?
Gerhard Burger


18

Bunun için xdg-mimekomutu kullanın . xdg, masaüstü ortamı agnostik olmalıdır (örneğin xdg-open, argümanları doğru dosya açıcısına iletir). Varsayılan dosya yöneticisini kullanmak için:

xdg-mime query default inode/directory

Kaynak


2
Bu doğru cevap olmalı.
crypdick

17

xdg-open <DIR>Dosya yöneticisini bir dizinde başlatmak için kullanabilirsiniz . xdgHangi dosya yöneticisinin kullanıldığını bulmak için bazı uygulamaları sorgulayabilirsiniz .


İpucu için teşekkürler. Bunu problemimi çözmek için kullanmaya çalışacağım.
Mauren

1

Ben sadece aynı soruna rastladım. (yorum yapmak istiyorum ama itibarım yeterince yüksek değil)

Ben denedim xdg-openve bir id3-tag-editor (bir şekilde komik) :-) olan EasyTag'ı başlattı

Gerhard Burgers'ın cevabını denedim

xdg-mime query default inode/directory

ve bu dolphin.desktopbenim davamda döndü .

Yani benim durumumda doğru çözüm (".dektop" yerine "" ile değiştirildi):

xdg-mime query default inode/directory | sed 's/.desktop//g'

ama ben sadece bu sistemde test ediyorum koşuyorum


1

Vay, inanılmaz kimse burada doğru cevabı gönderemez.

Linux'taki varsayılan uygulamalar Freedesktop (eski XDG) Mimeapps Standard ve bunun dayandığı diğer birkaç özellik tarafından gerçekleştirilir.

Arch Linux Wiki'de anlaşılır bir makale var . Aradığın şey, metimetrenin birleşmesi inode/directory.


Bunun için teşekkürler. Arch kullanıyorum ve wiki'yi kontrol etmeyi düşünmeliydim ama yapmadım.
Colin Keenan

2
Peki cevabım nasıl doğru değil? inode/directoryBir xdg-mimesorguyla birliği sorgulamak için tam bir emir
Gerhard Burger

0

Herkesin inode/directoryMIME türünden bahsettiği görülüyor ve ihtiyaçlarınız için xdg-opençoğu durumda işe yaramalı (programatik olarak bir dosya yöneticisi aracılığıyla bir dizini aç), ancak bazen yanlış uygulama (bir dosya yöneticisi değil, örneğin Visual Studio Kodu) ilişkilendirebilir. ile bu inode/directoryvarsayılan uygulama olarak.

Ek olarak, D-Bus için ( org.freedesktop.FileManager1Oturum Veri Yolu'nda) ihtiyaç duyduğunuz bir dosya yöneticisi arabirimi de vardır, böylece dosya yöneticiniz bu D-Bus arabirimini destekliyorsa bunu da kullanabilirsiniz. Lütfen tüm dosya yöneticilerinin bunu uygulamadığı için kullanabildiğinizden emin olun, şu anda Dolphin (KDE), Nautilus (GNOME) ve Deepin File Manager (DDE) bu D-Bus arabirimini uyguladı. Bu D-Bus arabiriminin hangi işlem sahibine ait olduğunu bulmak için (programlı bir dosya yöneticisi aracılığıyla bir yol açmak istemeniz durumunda yapmanız gerekmiyorsa), bu cevaba bakın.

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.