Como o xdg-open faz seu trabalho

27

De acordo com a página de manual, xdg-openabrirá um arquivo usando o aplicativo que o usuário configurou. Mas como essa aplicação é realmente determinada? Não vejo arquivos de configuração associados xdg-utils; portanto, onde estão minhas configurações armazenadas e como posso modificá-las? Vendo como um simples arquivo PNG abre o Internet Explorer usando o Wine, preciso alterar essas configurações.

MvG
fonte

Respostas:

27

Observe o conteúdo do xdg-openarquivo e você perceberá que é um simples shell script. Sua principal tarefa é identificar o ambiente da área de trabalho em uso, que será usado para delegar a tarefa a uma ferramenta específica:

  • O KDE delega kde-openoukfmclient
  • Delegados do Gnome para gvfs-openougnome-open
  • Delega delegados para gvfs-openoumate-open
  • XFCE delega paraexo-open
  • O LXDE delega para pcmanfm, com fallback para "genérico" para a maioria dos URLs
  • A iluminação delega paraenlightenment_open
  • Todo o resto é denominado " genérico ", e o script tenta sua própria sorte

Portanto, a mensagem principal é a seguinte: na maioria das situações, um desses delegados fará o trabalho real; portanto, verifique como eles estão configurados.

Por exemplo, estou executando o XFCE, portanto, xdg-openchamadas exo-openque usam as configurações do XFCE disponíveis na interface do usuário das configurações do XFCE e armazenadas ~/.local/share/applications/mimeapps.list.

Para detalhes sobre os arquivos de configuração em uso, strace -e filepode ser útil. E se você estiver na situação "genérica" ​​e quiser ver o que xdg-openfaz, pode tentar sh -x `which xdg-open` file.name.

MvG
fonte
2
Resposta semelhante para uma pergunta diferente. :-)
patryk.beza