Por favor, não marque como duplicado antes de ler minha pergunta. Eu sei que já existem essas perguntas, mas a resposta existente não funcionou como esperado, e é por isso que estou fazendo esta pergunta.
As respostas existentes dizem que a maneira de definir o gerenciador de arquivos padrão é xdg-mime default <app name> inode/directory
, e a maneira de localizar um arquivo com o gerenciador de arquivos padrão é dbus-send --session --print-reply --dest=org.freedesktop.FileManager1 --type=method_call /org/freedesktop/FileManager1 org.freedesktop.FileManager1.ShowItems array:string:"<path>" string:""
.
Mas quando testei isso em algumas distribuições baseadas em Arch, incluindo Arch com Gnome, o dbus-send
comando nem sempre abriu o gerenciador de arquivos que xdg-mime query default
indica, após instalar o gerenciador de arquivos Nemo (o gerenciador de arquivos padrão do Gnome é o Gnome Files). Enquanto xdg-mime query default inode/directory
gera nemo.desktop
, o dbus-send...
comando acima abre arquivos Gnome, e quando o primeiro gera "org.gnome.Nautilus.desktop", o último abre o Nemo. (Isso ocorre quando não há um gerenciador de arquivos em execução. Se já houver uma instância de um gerenciador de arquivos, dbus-send
o comando parece usar esse gerenciador de arquivos.)
O dbus-send
comando acima é o comando correto para "localizar um arquivo com o gerenciador de arquivos padrão"? Embora o dbus-send
comando acima não tenha funcionado conforme o esperado, os IDEs da JetBrain, como Android Studio ou IntellJ, localizaram corretamente o arquivo com o gerenciador de arquivos padrão, quando cliquei com o botão direito do mouse em um arquivo e, em seguida, cliquei em "Abrir em" e, em seguida, no nome do gerenciador de arquivos. Pensei em pesquisar o código-fonte, mas esses são aplicativos enormes e tentar pesquisar o código-fonte não retornou nenhum resultado (usei palavras-chave como "abrir em" ou "gerenciador de arquivos").