como usuário do Linux, vejo que alguns aplicativos podem solicitar a abertura de um caminho e isso faz com que um gerenciador de arquivos seja iniciado. Eu gostaria de fazer isso programaticamente, mas como posso saber qual é o gerenciador de arquivos padrão? Existe uma maneira de encontrar essas informações? Alguma variável de ambiente? Por "gerenciador de arquivos", quero dizer aplicativos que permitem administrar seus arquivos: criar, renomear, criar pastas etc., como Nautilus (no GNOME) ou Dolphin (no KDE).
Desde já, obrigado!
Use o
xdg-mime
comando para isso. O xdg deve ser independente do ambiente de área de trabalho (por exemploxdg-open
, passará os argumentos para o abridor de arquivos correto). Para obter o gerenciador de arquivos padrão, use:Fonte
fonte
Você pode usar
xdg-open <DIR>
para iniciar o gerenciador de arquivos em um diretório. Você pode consultar umxdg
aplicativo para descobrir qual gerenciador de arquivos é usado.fonte
Acabei de encontrar o mesmo problema. (eu gostaria de comentar, mas minha reputação não é alta o suficiente)
Eu tentei
xdg-open
e ele startet EasyTag, que é um id3-tag-editor (de alguma forma engraçado) :-)eu tentei a resposta de Gerhard Burgers
e isso voltou
dolphin.desktop
no meu caso.portanto, no meu caso, a solução correta foi (substituindo ".dektop" por ""):
mas eu só testo isso neste sistema que estou executando
fonte
Uau, inacreditável que ninguém poste a resposta correta aqui.
Os aplicativos padrão no Linux são gerenciados pelo Mimeapps Standard do Freedesktop (antigo XDG) e várias outras especificações nas quais este se baseia.
O Arch Linux Wiki também contém um artigo compreensível . O que você está procurando é a associação do tipo mimético
inode/directory
.fonte
inode/directory
associação com umaxdg-mime
consulta ...Parece que todo mundo mencionou o
inode/directory
tipo MIME e oxdg-open
deveria funcionar na maioria dos casos para sua necessidade (abra programaticamente um diretório por meio de um gerenciador de arquivos), mas às vezes o aplicativo errado (que não é um gerenciador de arquivos, por exemplo, Visual Studio Code) também pode associar com oinode/directory
aplicativo padrão.Além disso, há também uma interface de gerenciamento de arquivos para o D-Bus (
org.freedesktop.FileManager1
no barramento de sessão) que pode ser usada para os seus requisitos, para que você também possa usá-lo se o seu gerenciador de arquivos suportar essa interface do D-Bus. Verifique se você pode usá-lo, pois nem todos os gerenciadores de arquivos implementaram isso, atualmente parece que o Dolphin (KDE), o Nautilus (GNOME) e o Deepin File Manager (DDE) implementaram essa interface D-Bus. E para descobrir qual proprietário do processo essa interface D-Bus (você não precisa fazê-lo se quiser solicitar que um caminho seja aberto por meio de um gerenciador de arquivos programaticamente), consulte esta respostafonte