Isso é feito facilmente para um único tipo de arquivo, conforme respondido em Como associar um tipo de arquivo no Wine a um aplicativo nativo? , criando um .reg
para o tipo de arquivo desejado. Mas isso é apenas para AVI. Eu uso alguns aplicativos de vinho (uTorrent, Soulseek, Eudora, para citar alguns) que podem iniciar uma ampla variedade de arquivos. Os anexos de email, por exemplo, podem ser JPG, DOC, PDF, PPS ... é impossível (e não desejável) rastrear todos os tipos de arquivos possíveis que se pode receber em um email ou baixar em um torrent.
Então, eu precisava de uma solução para ser mais genérica e ampla. Preciso da associação do arquivo para honrar qualquer aplicativo nativo atualmente configurado. E eu quero que isso seja feito para todos os tipos de arquivos configurados no meu sistema.
Eu já descobri como tornar a solução genérica. Simplesmente substituindo o aplicativo lançado .reg
por winebrowser
, desta forma:
[HKEY_CLASSES_ROOT\.pdf]
@="PDFfile"
"Content Type"="application/pdf"
[HKEY_CLASSES_ROOT\PDFfile\Shell\Open\command]
@="C:\\windows\\system32\\winebrowser.exe \"%1\""
Eu testei isso e funciona corretamente. Como o winebrowser usa xdg-open
como back-end e converte o caminho do meu Windows para o Unix, o aplicativo (Linux) correto é iniciado.
Portanto, preciso de um atualizador em "lote" para o registro do wine, um tipo de wine-update-associations
script que eu possa executar sempre que um novo aplicativo for instalado. Talvez uma ferramenta que possa:
- Listar todos os tipos de MIME no meu sistema que tenham um aplicativo instalado padrão associado
- Extraia todas as informações necessárias (glob, tipo MIME, etc)
- Gere o arquivo .REG no formato acima
A parte complicada é: eu procurei MUITO para encontrar informações sobre como a associação é feita no Ubuntu 10.10 em diante, e a documentação é escassa e confusa, para dizer o mínimo. O Freedesktop.org não possui especificações completas e até os documentos do Gnome são obsoletos. Até agora, reuni 4 arquivos que contêm informações de associação, mas não tenho noção de qual (ou por que) usar ou como usá-los para gerar o .reg
arquivo:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/miminfo.cache
/usr/share/applications/miminfo.cache
/etc/gnome/defaults.list
Qualquer ajuda, script ou explicação seria muito apreciada!
Obrigado!
Everything
em si, mas eu só queria informá-lo