AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 417261
Accepted
Yuri Drobkov
Yuri Drobkov
Asked: 2018-01-16 07:21:58 +0800 CST2018-01-16 07:21:58 +0800 CST 2018-01-16 07:21:58 +0800 CST

Arquivos Flash (.swf) não são mais reproduzidos pelos navegadores

  • 772

Começarei especificando que apliquei a correção do tipo mime application/vnd.adobe.flash.movie -> application/x-shockwave-flash(in ) antes e tudo estava funcionando bem./usr/share/mime/packages/freedesktop.org.xml

Mas recentemente algo deu errado (talvez com uma atualização, não sei) e meus navegadores pararam de reproduzir arquivos flash, o Chrome se oferece para baixá-lo e o Firefox apenas mostra a tela branca. Eu tentei usar gnash, mas não funciona com alguns arquivos e é muito lento quando funciona. Não acredito que meu problema seja único, então talvez alguém saiba como corrigi-lo?

Linux Mint 18.3 KDE

EDIT: Não é uma duplicata da pergunta mencionada, pois nesse caso o Firefox ainda funcionava e o problema era apenas com o Chrome. Mas perdi completamente o acesso ao swf.

flash browser
  • 1 1 respostas
  • 1923 Views

1 respostas

  • Voted
  1. Best Answer
    Cestarian
    2018-10-28T04:34:11+08:002018-10-28T04:34:11+08:00

    Antes de prosseguir, você deve certificar-se de que o pepper-flash está instalado para Chrome/Chromium, (flashplugin para Firefox) a única maneira de verificar (sem usar a solução alternativa abaixo) é reproduzir um arquivo flash na internet. (ou no Firefox, vá em about:plugins e veja se tem "Shockwave Flash")

    Eu criei o seguinte script como solução alternativa:

    #!/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 traço)

    Para usar o script, salve-o como swftohtml.sh (pode ser qualquer nome, não precisa terminar em .sh) em qualquer local que desejar e, para convertê-lo em um comando executável, crie 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, procurará na pasta atual por um arquivo swf e criará um arquivo html correspondente que pode ser usado para executar esse arquivo swf em um navegador. Se houver mais de 1 arquivo swf na pasta, o padrão será o último (por exemplo, se você tiver filename1.0.swf e filename2.0.swf, o padrão será filename2.0.swf)

    Como alternativa para direcionar um arquivo swf específico, você pode inserir o nome do arquivo (ou o caminho completo para o arquivo) como um argumento para o script e ele o usará. (por exemplo , swftohtml.sh nome do arquivo 1.0.swf )

    Se você deseja automatizar totalmente o script:

    Para abrir arquivos swf automaticamente em seu navegador e automatizar a remoção do arquivo html resultante depois de usado, remova o comentário de uma das seguintes linhas na parte inferior do script (dependendo do seu navegador):

    #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 agora abrirá o arquivo html em seu navegador assim que ele for criado. Se houver uma instância existente do seu navegador em execução, ela excluirá o arquivo html em 20 segundos (dando a você tempo suficiente para dizer ao navegador para abrir o arquivo com seu plug-in flash). Se não houver nenhuma instância existente do seu navegador, o arquivo será excluído 20 segundos depois que o navegador for fechado.

    Com este conjunto, você pode configurar arquivos SWF para abrir com o script, e o processo agora é totalmente automatizado para que você possa abrir arquivos SWF diretamente, sem nunca se preocupar em criar (ou deletar) os arquivos html manualmente, ou seja, ele se comportará como deveria agora. (Lembre-se de que pode haver alguns casos extremos em que o arquivo html não é excluído; quando isso acontece, você pode ignorá-lo com segurança.)

    Para usuários do Firefox:

    A versão do Firefox foi um pouco mais complicada, requer wmctrl e xdotool para serem instalados. A razão para isso é que para o firefox reproduzir arquivos swf locais dessa forma, você precisa desabilitar os plugins.http_https_only em about:config , o script desabilita automaticamente, abre o arquivo flash e reativa, porque essa é uma configuração mais as pessoas geralmente desejam manter ativado. O navegador precisa ser aberto antes que o comando seja executado. Se você acha que é provável que seu navegador firefox seja fechado quando você 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, ele dará ao navegador 1 segundo para iniciar antes de executar o restante do script. (Pode precisar ser ajustado para computadores mais lentos).

    A versão Firefox do script sempre excluirá o arquivo após 20 segundos.

    Teste de performance:

    Fiz alguns testes rudimentares de desempenho e estes são os meus resultados:

    • Chrome/Chromium Pepper Flash (PPAPI): Mais rápido
    • Adobe Flash Projector (NPAPI)(Wine-Staging): Rápido
    • Firefox Flashplugin (NPAPI): Mais lento

    Quanto à estabilidade, há casos extremos em que o PPAPI apresentará bugs/erros que o NPAPI não apresenta, mas são raros.

    O desempenho entre o Pepper Flash e o Flash Projector foi bastante pequeno (é perceptível, mas quase imperceptível), enquanto o desempenho do plug-in firefox flash foi visivelmente mais lento do que o resto por algum motivo.

    Assim, se jogar jogos em flash é o objetivo, eu recomendaria usar chromium com pepper flash instalado sobre o resto, em geral. Para outras tarefas, é improvável que isso importe.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve