Jak znaleźć domyślnego menedżera plików?

22

jako użytkownik systemu Linux widzę, że niektóre aplikacje mogą żądać otwarcia ścieżki, co powoduje uruchomienie menedżera plików. Chciałbym to zrobić programowo, ale skąd mam wiedzieć, który jest domyślnym menedżerem plików? Czy istnieje sposób na znalezienie tych informacji? Jakaś zmienna środowiskowa? Przez „menedżera plików” rozumiem aplikacje, które pozwalają na administrowanie plikami: tworzenie, zmiana nazwy, tworzenie folderów itp., Takie jak Nautilus (w GNOME) lub Dolphin (w KDE).

Z góry dziękuję!

Mauren
źródło

Odpowiedzi:

7

Nie ma czegoś takiego jak „domyślny menedżer plików dla systemu Linux”. Wszystko zależy od tego, jak próbujesz otworzyć. Jeśli zapytasz XDG, musisz sprawdzić, co według XDG powinien być ten menedżer plików. Ta sama oferta dla każdego innego „środowiska”, takiego jak Gnome lub KDE. Jeśli masz je wszystkie zainstalowane, jest całkowicie możliwe (i w porządku), aby każdy z nich miał inny „domyślny menedżer plików”.

Wydaje się, że przypadek domyślnych aplikacji pochodzi głównie z systemu Windows. Tam mamy tylko jedno środowisko - to, które przedstawia nam Windows. W związku z tym pojęcie domyślnej aplikacji jest rzeczywiście efektywne dla całego systemu. W przypadku Linuksa tak nie jest.

To, co możesz postrzegać jako domyślne aplikacje pod Linuksem, takie jak to, co jest przechowywane w zmiennej środowiskowej $ EDITOR, to nie tyle „prawdziwa” domyślna aplikacja, co zwykła konwencja używana przez wiele osób piszących narzędzia systemowe i skrypty. Możesz zdefiniować $ FILEMANAGER, jeśli pasuje to do Twojego przypadku użycia.

mkaito
źródło
Myślałem, że może być do tego zmienna środowiskowa, i zastanawiałem się nad jej zdefiniowaniem. Dobra odpowiedź, dziękuję bardzo.
Mauren
Myślę, że masz na myśli XFCE zamiast XDG?
Gerhard Burger
18

Użyj xdg-mimedo tego polecenia. xdg powinien być agnostyczny dla środowiska pulpitu (np. xdg-openprzekaże argumenty do właściwego otwieracza plików). Aby uzyskać domyślny menedżer plików, użyj:

xdg-mime query default inode/directory

Źródło

Gerhard Burger
źródło
2
To powinna być poprawna odpowiedź.
crypdick
17

Możesz użyć xdg-open <DIR>do uruchomienia menedżera plików w katalogu. Być może będziesz w stanie wysłać zapytanie do jakiejś xdgaplikacji, aby dowiedzieć się, który menedżer plików jest używany.

src
źródło
Dzięki za podpowiedź. Spróbuję użyć tego do rozwiązania mojego problemu.
Mauren
1

właśnie natrafiłem na ten sam problem. (wolę skomentować, ale moja reputacja nie jest wystarczająco wysoka)

próbowałem xdg-open i uruchomiłem EasyTag, który jest edytorem tagów id3 (jakoś zabawnym) :-)

próbowałem odpowiedzieć Gerhard Burgers

xdg-mime query default inode/directory

i to wróciło dolphin.desktopw moim przypadku.

więc w moim przypadku poprawnym rozwiązaniem było (zamieniając „.dektop” na „”):

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

ale testuję to tylko na tym systemie, który używam

coffeekid
źródło
1

Wow, niewiarygodne, że nikt nie podał tutaj poprawnej odpowiedzi.

Domyślne aplikacje w systemie Linux są obsługiwane przez Mimeapps Standard Freedesktop (wcześniej XDG) i kilka innych specyfikacji, na których oparty jest ten.

Arch Arch Wiki zawiera także zrozumiały artykuł . To, czego szukasz, to skojarzenie typu mimetycznego inode/directory.

ManuelSchneid3r
źródło
Dzięki za to. Używam Arch i powinienem był sprawdzić wiki, ale nie zrobiłem tego.
Colin Keenan
2
A jak moja odpowiedź jest nieprawidłowa? Dokładne polecenie wysłałem do zapytania inode/directoryskojarzenia z xdg-mimezapytaniem ...
Gerhard Burger,
0

Wygląda na to, że wszyscy wspominali o inode/directorytypie MIME i xdg-openpowinien działać w większości przypadków w zależności od potrzeb (programowo otwórz katalog za pomocą menedżera plików), ale czasami niewłaściwa aplikacja (która nie jest menedżerem plików, np. Visual Studio Code) może również skojarzyć jest inode/directoryto domyślna aplikacja.

Ponadto istnieje również interfejs menedżera plików dla D-Bus ( org.freedesktop.FileManager1w Session Bus), który może być używany do twoich wymagań, więc możesz go również użyć, jeśli twój menedżer plików obsługuje ten interfejs D-Bus. Upewnij się, że możesz go użyć, ponieważ nie wszystkie menedżery plików to zaimplementowały, obecnie wydaje się, że Dolphin (KDE), Nautilus (GNOME) i Deepin File Manager (DDE) zaimplementowały ten interfejs D-Bus. Aby dowiedzieć się, który właściciel procesu ma ten interfejs D-Bus (nie musisz tego robić, jeśli chcesz tylko poprosić o programowe otwarcie ścieżki za pomocą menedżera plików), zapoznaj się z tą odpowiedzią

Gary Wang
źródło