Wie finde ich den Standard-Dateimanager?

22

Als Linux-Benutzer sehe ich, dass einige Anwendungen das Öffnen eines Pfads anfordern können und dadurch ein Dateimanager gestartet wird. Ich möchte dies programmgesteuert tun, aber woher weiß ich, welches der Standarddateimanager ist? Gibt es eine Möglichkeit, diese Informationen zu finden? Jede Umgebungsvariable? Mit "Dateimanager" meine ich Anwendungen, mit denen Sie Ihre Dateien verwalten können: Erstellen, Umbenennen, Erstellen von Ordnern usw., wie Nautilus (in GNOME) oder Dolphin (in KDE).

Danke im Voraus!

Mauren
quelle

Antworten:

7

Es gibt keinen "Standard-Dateimanager für Linux". Es hängt alles davon ab, wie Sie versuchen, eine zu öffnen. Wenn Sie nach XDG fragen, müssen Sie überprüfen, wie XDG diesen Dateimanager einschätzt. Gleiches gilt für alle anderen "Umgebungen" wie Gnome oder KDE. Wenn Sie alle installiert haben, ist es durchaus möglich (und in Ordnung), dass jeder von ihnen einen anderen "Standard-Dateimanager" hat.

Der Fall für Standard-Apps scheint hauptsächlich von Windows zu kommen. Dort haben wir nur eine Umgebung, die Windows uns vorstellt. Insofern ist der Begriff einer Standardanwendung tatsächlich systemweit gültig. Dies ist bei Linux nicht der Fall.

Was Sie unter Linux möglicherweise als Standard-Apps empfinden, wie das, was in der Umgebungsvariablen $ EDITOR gespeichert ist, ist weniger eine "echte" Standard-App als vielmehr eine Konvention, die von vielen Leuten verwendet wird, die Systemtools und Skripte schreiben. Sie können auch $ FILEMANAGER definieren, falls dies für Ihren Anwendungsfall geeignet ist.

mkaito
quelle
Ich dachte, es könnte eine Umgebungsvariable dafür geben, und dachte tatsächlich darüber nach, eine zu definieren. Schöne Antwort, vielen Dank.
Mauren
Ich denke du meinst XFCE statt XDG?
Gerhard Burger
18

Verwenden Sie dazu den xdg-mimeBefehl. xdg sollte unabhängig von der Desktop-Umgebung sein (z. B. xdg-openwerden die Argumente an den richtigen Dateiöffner weitergeleitet). So rufen Sie den Standarddateimanager ab:

xdg-mime query default inode/directory

Quelle

Gerhard Burger
quelle
2
Dies sollte die richtige Antwort sein.
Crypdick
17

Mit können Sie xdg-open <DIR>den Dateimanager in einem Verzeichnis starten. Möglicherweise können Sie eine xdgAnwendung abfragen , um herauszufinden, welcher Dateimanager verwendet wird.

src
quelle
Danke für den Tipp. Ich werde versuchen, dies zu nutzen, um mein Problem zu lösen.
Mauren
1

Ich bin gerade auf das gleiche Problem gestoßen. (Ich möchte lieber kommentieren, aber mein Ruf ist nicht hoch genug)

Ich habe es versucht xdg-openund es hat EasyTag gestartet, das ein ID3-Tag-Editor ist (irgendwie lustig) :-)

Ich habe versucht, Gerhard Burgers Antwort

xdg-mime query default inode/directory

und das kehrte dolphin.desktopin meinem Fall zurück.

In meinem Fall war die richtige Lösung (Ersetzen von ".dektop" durch ""):

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

aber ich testet dies nur auf diesem System, das ich laufe

Kaffeekind
quelle
1

Wow, unglaublich, dass hier niemand die richtige Antwort gepostet hat.

Standardanwendungen unter Linux werden vom Freedesktop (vormals XDG) Mimeapps Standard und mehreren anderen Spezifikationen verarbeitet, auf denen dieser basiert.

Das Arch Linux Wiki enthält auch einen verständlichen Artikel . Was Sie suchen, ist die Zuordnung des Mimetyps inode/directory.

ManuelSchneid3r
quelle
Danke dafür. Ich benutze Arch & hätte darüber nachdenken sollen, das Wiki zu überprüfen, tat es aber nicht.
Colin Keenan
2
Und wie ist meine Antwort nicht richtig? Ich habe den genauen Befehl zum Abfragen der inode/directoryZuordnung mit einer xdg-mimeAbfrage gepostet ...
Gerhard Burger
0

Offenbar hat jeder den inode/directoryMIME-Typ erwähnt und der xdg-opensollte in den meisten Fällen für Ihre Bedürfnisse funktionieren (programmgesteuertes Öffnen eines Verzeichnisses über einen Dateimanager), aber manchmal kann auch eine falsche Anwendung (die kein Dateimanager ist, z. B. Visual Studio Code) eine Verbindung herstellen es mit der inode/directoryals Standardanwendung.

Darüber hinaus gibt es eine Dateimanager-Schnittstelle für D-Bus ( org.freedesktop.FileManager1im Session-Bus), die für Ihre Anforderungen verwendet werden kann, sodass Sie diese auch verwenden können, wenn Ihr Dateimanager diese D-Bus-Schnittstelle unterstützt. Bitte stellen Sie sicher, dass Sie es verwenden können, da dies nicht von allen Dateimanagern implementiert wurde. Derzeit scheinen Dolphin (KDE), Nautilus (GNOME) und Deepin File Manager (DDE) diese D-Bus-Schnittstelle implementiert zu haben. Und um herauszufinden, welcher Prozessverantwortliche diese D-Bus-Schnittstelle ist (Sie müssen dies nicht tun, wenn Sie nur programmgesteuert einen Pfad zum Öffnen über einen Dateimanager anfordern möchten), lesen Sie diese Antwort

Gary Wang
quelle