Forçar a extensão do arquivo para abrir com aplicativo específico (extensões como .exe, .jpg, .mp4…)

13

Eu já li a pergunta sobre como criar arquivos .desktop para usar na guia "Abrir com outro aplicativo", mas não é isso que eu quero, desejo poder clicar no arquivo no Dash ou no Nautilus e poder abrir com o aplicativo especificado.

Por exemplo, eu tenho esse caso agora:

Quando clico em um arquivo EXE, ele não é executado pelo Wine, mas obtenho o seguinte:

insira a descrição da imagem aqui

Se eu tentar procurar o Wine na opção de menu de contexto Abrir com, ele estará lá. Estou bem em executá-lo a partir da primeira vez, mas, depois, o seguinte vinho não aparece selecionado no menu principal de contexto:

insira a descrição da imagem aqui

Fui então para Propriedades na aba Abrir com para procurar por Vinho. Não estava nos aplicativos padrão nem nos recomendados quando cliquei e pesquisei em Mostrar outros aplicativos

insira a descrição da imagem aqui

Isso não se limita às extensões EXE. Também aconteceu com arquivos MKV, arquivos MP4, JPG, PNG, MP3 e até SVG e CSS. Portanto, em vez de tentar encontrar uma maneira de resolvê-lo, quero uma maneira que possa ser feita com qualquer tipo de extensão que possa:

  • Tornar o aplicativo o padrão dessa extensão
  • Aparecem no menu de contexto do Nautilus quando clico com o botão direito do mouse no arquivo
  • Aparece na guia "Abrir com" na janela Propriedade do arquivo
  • Executa corretamente o aplicativo especificado quando clico no arquivo com o Dash

Pode parecer bom senso para um aplicativo executar o arquivo, mas nem sempre funciona assim. Portanto, para os casos em que realmente não funciona, como corrigi-lo. Uma redefinição da extensão ?, Uma atualização dos arquivos que podem abrir a referida extensão?, Uma adição do aplicativo por meio de uma linha de comando ou ferramenta da GUI?

Luis Alvarado
fonte
Ter um olhar para askubuntu.com/a/189284/41499 ele usa Ubuntu Tweak
Gerhard Burger
Dê-me um momento para testá-lo. Embora eu estivesse procurando uma maneira que não precisasse instalar um PPA. Algo, por exemplo, que já estava no Ubuntu.
Luis Alvarado
Você pode adicioná-lo como resposta, pelo menos até que uma opção mais "Ubuntu-ish" apareça. Ele muda o aplicativo para a extensão, mas eu tenho um caso em que não há internet.
Luis Alvarado
Sinto-me mal por copiá-lo ou devo copiar meu comentário para uma resposta? Seria bom para ver o Ubuntu Tweak realmente faz, faz alguns arquivos do desktop extras, mas eu não sei se ele faz alguma coisa extra ...
Gerhard Burger
Encontrado uma opção melhor, mais "Ubuntu-ish";)
Gerhard Burger

Respostas:

16

Você pode usar o comando mimeopen, em um terminal, vá para a pasta onde está o seu arquivo .exe e digite

mimeopen -d filename.exe

Você receberá um menu pop-up, onde poderá ver algumas opções, mas também existe a opção 'Outros ...', escolha esta e digite o comando que você usaria se abrir o arquivo no terminal e substituir o nome do arquivo com %f. Então, nesse caso, você digitaria wine %f.

Agora a associação padrão para todos os arquivos exe deve ser alterada para wine.

Como alternativa, o uso do Ubuntu-Tweak, conforme descrito em Alterar todas as associações do gedit para outro aplicativo , também altera o aplicativo padrão associado.

Gerhard Burger
fonte
1
Ótima resposta. Usei essa mesma abordagem para .mp4 para alterar o player de vídeo.
Elder Geek
O uso do mimeopen é aceitável quando se deseja usar / criar um comando personalizado, mas se você deseja apenas definir um aplicativo como o padrão para um tipo mimético, então r. clique em> propriedades> abra com> escolha app> Set as defaultbotão clique é melhor.
doug
2
@ Doug você está certo, mas a questão é sobre o que fazer se o aplicativo não estiver nessa lista (o que acontece muito).
Gerhard Burger
Como você faz esse processo em uma linha? Eu tenho um script e quero definir .exe como wine %f, .vlc para vlc %f etc ... É possível fazê-lo em um script bash? obrigado
Ugo Hed
Lendo a página do manual ( man.cx/mimeopen ), infelizmente não.
Gerhard Burger