Come trovare il file manager predefinito?


22

come utente Linux, vedo che alcune applicazioni possono richiedere l'apertura di un percorso e questo provoca l'avvio di un file manager. Mi piacerebbe farlo a livello di codice, ma come posso sapere qual è il file manager predefinito? C'è un modo per trovare queste informazioni? Qualche variabile d'ambiente? Per "file manager" intendo le applicazioni che ti consentono di amministrare i tuoi file: creare, rinominare, creare cartelle, ecc., Come Nautilus (in GNOME) o Dolphin (in KDE).

Grazie in anticipo!

Risposte:


7

Non esiste un "File Manager predefinito per Linux". Dipende tutto da come potresti provare ad aprirne uno. Se chiedi a XDG, dovrai controllare cosa pensa XDG di questo file manager. Lo stesso affare per qualsiasi altro "ambiente", come Gnome o KDE. Se li hai installati tutti, è perfettamente possibile (e va bene) per ognuno di loro avere un "gestore di file predefinito" diverso.

Il caso delle app predefinite sembra provenire principalmente da Windows. Laggiù, abbiamo solo un ambiente, quello che Windows ci presenta. In quanto tale, l'idea di un'applicazione predefinita è effettivamente efficace a livello di sistema. Questo non è il caso di Linux.

Ciò che potresti percepire come app predefinite sotto Linux, come quello che è archiviato nella variabile d'ambiente $ EDITOR, non è tanto un'app predefinita "vera", quanto semplicemente una convenzione usata da molte persone che scrivono strumenti e script di sistema. Sentiti libero di definire $ FILEMANAGER, se adatto al tuo caso d'uso.


Pensavo che ci potesse essere una variabile d'ambiente per questo, e in realtà ho pensato di definirne una. Bella risposta, grazie mille.
Mauren,

Penso che intendi XFCE invece di XDG?
Gerhard Burger,


18

Usa il xdg-mimecomando per questo. xdg dovrebbe essere indipendente dall'ambiente desktop (ad esempio xdg-open, passerà gli argomenti all'apri file corretto). Per ottenere il file manager predefinito usare:

xdg-mime query default inode/directory

fonte


2
Questa dovrebbe essere la risposta corretta.
crypdick,

17

È possibile utilizzare xdg-open <DIR>per avviare il file manager in una directory. Potresti essere in grado di interrogare alcune xdgapplicazioni per scoprire quale file manager viene utilizzato.


Grazie per il suggerimento. Proverò a usarlo per risolvere il mio problema.
Mauren,

1

Sono appena arrivato attraverso lo stesso problema. (Vorrei commentare ma la mia reputazione non è abbastanza alta)

ho provato xdg-opene ha avviato EasyTag che è un editor di tag id3 (in qualche modo divertente) :-)

ho provato a rispondere Gerhard Burgers

xdg-mime query default inode/directory

e questo è tornato dolphin.desktopnel mio caso.

quindi nel mio caso la soluzione corretta era (sostituendo ".dektop" con ""):

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

ma ho solo testato questo su questo sistema che sto eseguendo


1

Wow, incredibile che nessuno posti qui la risposta corretta.

Le applicazioni predefinite su Linux sono gestite dallo standard Mimeapps di Freedesktop (ex XDG) e da molte altre specifiche su cui si basa questa.

La Wiki di Arch Linux contiene anche un articolo comprensibile . Quello che stai cercando è l'associazione del mimetipo inode/directory.


Grazie per questo. Uso Arch e avrei dovuto pensare di controllare il wiki, ma non l'ho fatto.
Colin Keenan,

2
E in che modo la mia risposta non è corretta? Ho pubblicato il comando esatto per interrogare l' inode/directoryassociazione con una xdg-mimequery ...
Gerhard Burger il

0

Sembra che tutti abbiano menzionato il inode/directorytipo MIME e che xdg-opendovrebbe funzionare nella maggior parte dei casi per le tue necessità (aprire a livello di codice una directory tramite un file manager), ma a volte un'applicazione errata (che non è un file manager, ad esempio Visual Studio Code) può anche associare con l' inode/directoryapplicazione predefinita.

Inoltre esiste anche un'interfaccia di gestione file per D-Bus ( org.freedesktop.FileManager1in Session Bus) che può essere utilizzata per le vostre esigenze, in modo da poterla utilizzare anche se il vostro file manager supporta questa interfaccia D-Bus. Assicurati di poterlo utilizzare poiché non tutti i file manager lo hanno implementato, al momento sembra che Dolphin (KDE), Nautilus (GNOME) e Deepin File Manager (DDE) abbiano implementato questa interfaccia D-Bus. E per scoprire quale proprietario del processo questa interfaccia D-Bus (non è necessario farlo se si desidera semplicemente richiedere un percorso da aprire tramite un file manager a livello di codice), vedere questa risposta

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.