Para os utilizadores de Linux com este problema criei o seguinte script como alternativa:
Antes de prosseguir, deve certificar-se de que o pepper-flash está instalado para Chrome/Chromium, (flashplugin para Firefox) a única forma de verificar (sem utilizar a alternativa abaixo indicada) é reproduzir um ficheiro flash na Internet. (ou no Firefox, vá a about:plugins e veja se tem “Shockwave Flash”)
#!/bin/bash
if [-z $1]; then
swf=$(ls *.swf | tail -1)
else
swf=$@
fi
html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
(alternativamente compatível com dash)
Para usar o script, salve-o como swftohtml.sh (pode ser qualquer nome, não tem que terminar em .sh) em qualquer local que desejar, depois converta-o num comando executável ou faça um alias para ele em bashrc, ou copie-o para /usr/bin/. Lembre-se de executar chmod +x swftohtml.sh para torná-lo executável.
O script quando executado sem argumentos irá procurar na pasta atual por um arquivo swf e fazer um arquivo html correspondente que pode ser usado para executar este arquivo swf em um navegador. Se houver mais de 1 ficheiro swf na pasta, ele será o último por defeito (por exemplo, se tiver o nome de ficheiro1.0.swf e o nome de ficheiro2.0.swf, ele será o nome de ficheiro2.0.swf por defeito)
Em alternativa, para se dirigir a um ficheiro swf específico, pode introduzir o nome do ficheiro (ou o caminho completo para o ficheiro) como argumento para o script e ele usará esse argumento em vez disso. (ex. swftohtml.sh filename 1.0.swf )
Se quiser automatizar completamente o script:
Para abrir ficheiros swf automaticamente no seu browser e automatizar a remoção do ficheiro html resultante após ter sido utilizado, descomente uma das seguintes linhas no fundo do script (dependendo do seu browser):
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
O script irá agora abrir o ficheiro html no seu browser assim que este tiver sido criado. Se existir uma instância do seu browser em execução, ele irá apagar o ficheiro html em 20 segundos (dando-lhe tempo suficiente para dizer ao browser para abrir o ficheiro com o seu plugin flash). Se não existir uma instância existente do seu browser, o ficheiro será apagado 20 segundos após o browser ser fechado.
Com este conjunto, pode configurar ficheiros SWF para abrir com a script, e o processo é agora totalmente automatizado para que possa abrir ficheiros SWF directamente, sem nunca se preocupar em criar (ou apagar) os ficheiros html à mão, por outras palavras, irá comportar-se como deveria agora. (Tenha em mente que pode haver alguns casos de canto onde o ficheiro html não é apagado, no entanto, quando isto acontece pode ignorá-lo com segurança)
Para utilizadores Firefox:
A versão Firefox foi um pouco mais complicada, requer wmctrl e xdotool para ser instalada. A razão para isto é que para o firefox reproduzir ficheiros swf locais desta forma é necessário desactivar plugins.http_https_only* in about:config, o script desactiva-o automaticamente, abre o ficheiro flash, depois reactiva-o, porque esta é uma definição que a maioria das pessoas geralmente quererá manter activa. O browser precisa de estar aberto antes de o comando ser executado. Se pensa que é provável que o seu browser firefox esteja fechado quando executar o comando, substitua a linha por esta:
firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
Agora dará ao browser 1 segundo para iniciar antes de executar o resto do script. (Pode precisar de ser ajustado para computadores mais lentos).
A versão Firefox do script irá sempre apagar o ficheiro após 20 segundos.
Testes de desempenho:
Fiz alguns testes de desempenho rudimentares e estes são os meus resultados:
- Chrome/Chromium Pepper Flash (PPAPI):
- Projector Flash Adobe (NPAPI)(Vinho): Fast
- Firefox Flashplugin (NPAPI): Mais lento
Quanto à estabilidade, há casos de canto em que o PPAPI se depara com bugs/erros que o NPAPI não conhece, mas são raros.
A performance entre o Pepper Flash e o Flash Projector foi bastante pequena (é notável, mas mal) enquanto que a performance do plugin flash firefox foi notoriamente mais lenta do que o resto por alguma razão.
Assim, se jogar jogos flash é o objectivo, eu recomendaria o uso de crómio com flash de pimenta instalado sobre o resto, em geral. Para outras tarefas, é pouco provável que isso importe.