Buenas lista, a ver si me podéis echar una mano.
El problema que tengo es que quiero llamar a mplayer desde un un script en php 
colocado en mi servidor Apache.
Con javascritpt le mando una url php que recibe con GET, y este se la da a un 
script en bash que procesa una serie de cosas y ejecuta mplayer para reproducir 
un vídeo .flv.
Tengo comprobado que el scritp en bash recibe la url y la procesa bien y 
ejecuta mplayer, lo que pasa es que este no abre el vídeo (solo se escucha el 
audio y esto último solo si ejecuto mplayer con los argumentos -vo gl).

Creo que es un problema de permisos ya que el user con el cual ejecuto desde 
php el script de bash (con exec) es www-data.

He intentado lo siguiente:

--> Ejecutar con sudo (exec('sudo ...');) dando permisos en sudoers de la 
siguiente manera:
www-data ALL = (mi_user_normal) NOPASSWD: /ruta/al/script.sh
www-data ALL = (ALL) NOPASSWD: /ruta/al/script.sh

RESULTADO:
Se abre mplayer pero nada, pone algo así como: Error I/O son permisos (o algo 
muy parecido).
Lo curioso es que si modifico el script para que se lanze todo igual que hasta 
ahora pero que reproduzca sonido (mp3) del propio pc si que lo reproduce (sin 
problemas de permisos).

--> Ejecutarlo como user www-data (poner dueño del scirp de bash www-data).
El problema de esto es que www-data no tiene permisos para abrir video, con lo 
que pongo al user www-data en el grupo de video y audio.

RESULTADO:

Nada de nada. No consigo hacer nada.


Supongo que el problema principal es que desde exec no es tan fácil abrir 
aplicaciones que utilicen las X, por algún problema de permisos por algún lado.
Entonces, ¿Alguien ha tenido esta experiencia y me puede echar una mano? 
(Lanzar aplicaciones desde php que funcionen sobre el entorno gráfico, aunque 
sea una prueba lanzamiento de por ejemplo firefox o yo que sé, gimp, 
simplemente que lo abra).

Saludos!

--
aabilio - http://linfox.es
http://expulsionporagresion.linfox.es
GPG id C7B08605 Abilio Almeida Eiroa (aabilio)

Attachment: signature.asc
Description: OpenPGP digital signature

Responder a