Script para lanzar un reproductor flash en Linux

El reproductor de flash para Linux/UNIX adolece de no tener un reproductor de archivos autónomo, ya que sólo integra un plugin para navegadores Mozilla.

Además, en estos navegadores, si nos encontramos con un enlace a un archivo .swf nos dirá de descargarlo, no lo abrirá, habitualmente.

Combinando estas dos cirscunstancias tenemos que para abrir un archivo SWF debemos crear una miniweb y abrirla con el navegador.


Para evitar ésto he creado un miniscript BASH que hace este trabajo por nosotros. Crea un archivo temporal en /tmp, lanza nuestro navegador con el archivo y lo borra a los 5 segundos:

#!/bin/bash
# Script que emula un comando de reproductor de flash.
# Debido a que en Linux Adobe Flash no tiene reproductor sino solo plugin
# de navegadores Mozilla no podemos lanzar directamente archivos SWF.
# Ademas, dependiendo de la configuracion de nuestro navegador si abrimos
# un archivo .swf por defecto nos dice de guardarlo.
# Con este script generamos una pagina falsa que sirve para lanzar el SWF

## CONFIGURACION ##
# Seleccionamos el comando del navegador:
NAV=firefox

# Altura y anchura. 100% lo abrira en fullscreen.
ALTO="100%"
ANCHO="100%"

#############
i=$RANDOM
file="/tmp/flashplayer_$i.html"
echo '<object height="'$ALTO'" width="'$ANCHO'"><param name="movie" value="'$*'"><param name="allowFullScreen" value="true"><embed src="%27$*%27" type="application/x-shockwave-flash" allowfullscreen="true" height="'$ALTO'" width="'$ANCHO'"></object>' > "$file"
$NAV "$file" &
sleep 5s
rm "$file"


Para usarlo hemos de copiar el script a un editor de textos, guardarlo como flashplayer (o algun nombre similar que sea evidente) y como superusuario (root) ejecutar:

chmod a+x nombre_que_le_hemos_dado
mv nombre_que_le_hemos_dado /usr/bin/

Con esto lo tendremos disponimbe como comando del sistema para cualquier usuario del ordenador.

Desde cualquier explorador diremos que abra los archivos Flash con el comando, y lo mismo para nuestro navegador.