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!
Verwenden Sie dazu den
xdg-mime
Befehl. xdg sollte unabhängig von der Desktop-Umgebung sein (z. B.xdg-open
werden die Argumente an den richtigen Dateiöffner weitergeleitet). So rufen Sie den Standarddateimanager ab:Quelle
quelle
Mit können Sie
xdg-open <DIR>
den Dateimanager in einem Verzeichnis starten. Möglicherweise können Sie einexdg
Anwendung abfragen , um herauszufinden, welcher Dateimanager verwendet wird.quelle
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-open
und es hat EasyTag gestartet, das ein ID3-Tag-Editor ist (irgendwie lustig) :-)Ich habe versucht, Gerhard Burgers Antwort
und das kehrte
dolphin.desktop
in meinem Fall zurück.In meinem Fall war die richtige Lösung (Ersetzen von ".dektop" durch ""):
aber ich testet dies nur auf diesem System, das ich laufe
quelle
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
.quelle
inode/directory
Zuordnung mit einerxdg-mime
Abfrage gepostet ...Offenbar hat jeder den
inode/directory
MIME-Typ erwähnt und derxdg-open
sollte 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 derinode/directory
als Standardanwendung.Darüber hinaus gibt es eine Dateimanager-Schnittstelle für D-Bus (
org.freedesktop.FileManager1
im 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 Antwortquelle