script deteccion de flashplayer y html5 para desactivado de salvapantallas

Dudas y comentarios sobre su instalación, configuración y manejo.
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Jue Jun 19, 2014 9:08 pm

Estoy tratando de desactivar el salvapantallas mientras se estén reproduciendo vídeos online en youtube y sitios similares (vídeos que usen el flashplayer o en html5).
Después de probar muchas cosas y scripts (por favor no recomienden el caffeine porque en kubuntu 14.04 no funciona -no se abre siquiera-) e encontrado este script que si funciona pero no bien del todo:

Código: Seleccionar todo

#!/bin/bash

programs="firefox chromium opera"

sleep 600 # wait 10 minutes to check as we just started KDE
for pgm in ${programs}; do # Check list of programs one by one
     if ps axo comm | grep -q ${pgm} ;then # Is a program running?
# Yes, simulate user activity vice shutting down the screen saver
qdbus org.kde.screensaver /ScreenSaver SimulateUserActivity
break # All done, we had at least one program running.
    fi
done
exec $0 $* # Restart this script
Este script lo que hace es detectar si están en ejecución los navegadores como en este caso firefox, chromium, y opera, y si está en ejecución (por lo menos uno de ellos) pues desactiva el salvapantallas. Mientras que si ninguno de ellos lo esta pues no lo desactiva. Decir que esta pensado para que por ejemplo tengamos configurado el salvapantallas para que salte a mas de 10 minutos (yo le tengo a los 15). Así con comprobar el sistema cada 10 minutos o 600 segundos en este caso sería suficiente. Para otras configuraciones de tiempo del salvapantallas pues habría que modificar el numero ese de 600 para que fuera un valor ligeramente inferior al tiempo en el que salta el salvapantallas, por ejemplo si tenemos para que salte a los 5 minutos o 300 segundos pues habría que sustituir el 600 por un 270 osea 4,5 minutos.

Bueno una vez aclarado esto diré nuevamente que el script funciona muy bien, (por supuesto debe cargarse al inicio del sistema) pero lo que yo quiero no es que el salvapantallas se desactive al detectar la ejecución de los navegadores antes mencionados sino que lo que se compruebe si esta en ejecución sea el flashplayer o el html5 de modo que el salvapantallas pueda activarse aunque los navegadores estén en ejecución pero que no se active cuando esté viendo algún vídeo online, osea esté en ejecución el flashplayer o html5.

El problema es que no logro identificar que nombre tienen estos procesos (flashplayer y html5) o que debo poner en lugar del nombre de los navegadores para que el flashplayer o html5 sean detectados al igual que ahora lo son los navegadores. He probado cosas como flash, flashplayer, libflasplayer, libflashplayer.so, html5, plugin (este ultimo funciona pero no sirve porque el plugin-container no se cierra mientras el navegador firefox siga abierto aunque ya no se este viendo ningún vídeo por lo que para el caso es lo mismo que poner el navegador), etc pero no e logrado resultados positivos.
En fin si alguien sabe el nombre del proceso que se activa con el flashplayer y html5 al ver vídeos online por favor decirlo y así el script quedaría perfecto.
Aunque creo que ya lo e mencionado diré que mi sistema es kubuntu 14.04.
Muchas gracias por adelantado y saludos...
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por hipersayan_x » Jue Jun 19, 2014 11:00 pm

Tarea difícil la que estas intentando hacer. Yo en mí caso descubrí que cada vez que reproduzco un contenido en flash o html5 en firefox, aparece proceso llamado plugin-container, podes empezar investigando por ahí :)

Edito: Ups, ya veo que has intentado ir por ese lado. La verdad es que lo único que se me ocurre para detectar cuando se reproduzca un video, es haciendo un plugin para el navegador, de otra forma no creo que sea posible.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3301
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por doc » Vie Jun 20, 2014 12:18 am

la verdad es que, siendo pragmático, el método más sencillo es el de desactivar manualmente el salvapantallas cuando vayas a visualizar videos (largos) online. ¿no se llamaba a cosas así 'el principio de la navaja de Ockham'?
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por hipersayan_x » Vie Jun 20, 2014 12:31 am

Es como dice doc, al fin y al cabo hoy en día con los monitores led y lcd no hace falta activar el salvapantalla, desde hace ya un tiempo que se viene discutiendo sobre su eliminación del sistema y reemplazo por algo un poco mas útil.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Vie Jun 20, 2014 1:02 am

Bueno creo que es mas cómodo mi método osea el usar el script anterior a tener que andar activando o desactivando el salvapantallas ¿no?. De todos modos también tengo este otro script por si a alguien le sirve:

Código: Seleccionar todo

#!/bin/bash
while /bin/true
do
qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity > /dev/null;
sleep 1m;
done
Este segundo script lo que hace es desactivar por completo el savapantallas. No hace falta que se cargue al inicio del sistema porque si así se hiciera el salvapantallas quedaría desactivado siempre. Pero si se puede poner en algún directorio como por ejemplo el del usuario y mediante un atajo del teclado ejecutarle justo antes de ponerse a ver el vídeo online. Después para volver a activar el savapantallas otro atajo del teclado con el comando killall salvapantallas.sh (suponiendo que el script estuviera en un archivo llamado salvapantallas.sh) mataría a dicho script reactivándose así el mencionado salvapantallas.

Con este script se corre el peligro de que después de ver el vídeo se te olvide matar el script y por tanto dejar desactivado el salvapantallas, pero como el script no se carga al inicio del sistema al siguiente reinicio el salvapantallas volvería a estar activo. La ventaja del script de mi primer mensaje es que ese peligro no existe ya que el script estaría siempre cargado al iniciarse con el sistema, y otra ventaja es que no hay que andar tampoco recordándose de ejecutar el script con el atajo antes de ver el vídeo online. La desventaja es que el script tiene que estar siempre cargado osea iniciarse con el sistema, ademas de que el salvapantallas permanece desactivado siempre que algún navegador este corriendo aunque no se este viendo ningún vídeo online.

En fin cada uno tiene sus ventajas y desventajas pero yo particularmente me quedo con el primero, aunque cualquiera de los dos es mas cómodo y practico que tener que activar y desactivar el salvapantallas manualmente. Pero lo ideal como ya dije en mi primer mensaje sería que el script se activara con el flashplayer y el html5. Tiene que haber un modo de detectar que estos 'procesos' están activos ¿no? venga chicos alguien tiene que saber algo al respecto.
¿O si no como hace la gente normalmente para el tema del salvapantallas en los vídeos online?
Saludos...
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por neurus » Vie Jun 20, 2014 1:30 am

Lo que se me ocurre es detectar la ejecución de plugin-containter (o flashplugin-nonfree), no en ps, sino en top. Cuando no estás viendo un video, a menos que se haya colgado plugin-container, no debería aparecer en la lista de tareas de top. O al menos no entre, digamos, los primeros diez lugares.

Lo detectarías con top -n 1 |grep plugin-con. Tal vez habría que aislar la columna con awk o cut en una variable. Y luego actuar en función del contenido de la variable.

No probé nada de esto. Sólo pasaba por acá.

Saludos.
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Vie Jun 20, 2014 1:35 am

¿Pero como iría eso exactamente? ¿puedes por favor pegar el script tal y como quedaría según eso que propones?
Saludos...
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por neurus » Vie Jun 20, 2014 2:03 am

Se suponía que sabía lo que estabas haciendo. O por lo menos que entendías cómo hacer un script.

Código: Seleccionar todo

#!/bin/bash
temp=`tempfile`
top -n 1 > $temp
if cat $temp |gawk '{print $13}'|grep plugin-con; then echo si; else echo no; fi
sleep 10m && exec $0
Reemplaza "echo si" y "echo no" por lo que quieres que haga.

Saludos.

PD: no estoy seguro de si top muestra la información exactamente igual en todas las distros. En caso de que sea distinto en tu sistema, puede que debas cambiar el número de columna que muestra awk.
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Vie Jun 20, 2014 2:55 am

Siento haber dado la impresión esa pero lo cierto es que esos scripts no son míos en absoluto, no se nada o casi nada al respecto de modo que no se de lo que me hablas.

Por ejemplo cuando dices que eso de que sustituya lo de 'echo si' y 'echo no' por lo que quiera que haga quieres decir que lo sustituya por 'qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity'? y eso seria en el 'echo si' o en el 'echo no'?

Tampoco se a que te refieres cuando hablas de la columna del awk. Ni se tampoco de donde te sacas eso de 'plugin-con' porque no es ni plugin ni plugin-container. En fin que como ves estoy muy perdido. Creo que para acabar antes y que realmente sirva de ayuda tanto para mi como para cualquiera que lea esto lo mejor sería que pusieras el script completo tal cual para poderlo probar.

Yo e probado algo así:

Código: Seleccionar todo

#!/bin/bash
temp=`tempfile`
top -n 1 > $temp
if cat $temp |gawk '{print $13}'|grep plugin-con; then qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity; else break; fi
sleep 10m && exec $0
Pero no a funcionado en absoluto (seguramente por que no tiene sentido lo que e echo jeje).
Saludos...
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por neurus » Vie Jun 20, 2014 3:52 am

Uso plugin-con, porque top me muestra "plugin-con+", cortando la cadena.
No uso plugin, para evitar un falso positivo.

Ejecuta top, y mira el resultado.


La columna de awk es el número 13 en mi script. Creo que debería funcionar de todos modos, si se quita la cadena |gawk '{print $13}'.
No uso protector de pantalla. Tengo un lcd de 24 pulgadas y no recuerdo haber configurado algo sobre ese tema. De todos modos, tampoco uso Kde o Gnome, por lo cual no tengo manera de probar la corrección de tu comando. De ahí que me resulte más simple probarlo con un "echo si".

Código: Seleccionar todo

#!/bin/bash
echo test
temp=`tempfile`
top -n 1 > $temp
if cat $temp |gawk '{print $13}'|grep plugin-con 
then qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity
fi 
sleep 10m && exec $0
Eso debería funcionar, si la orden qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity es correcta.
Al menos, ejecutará eso (sea correcto o no) cada vez que haya un video flash en ejecución.

Y si no funciona ese comando, instala xdotool y reemplaza qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity por xdotool Ctrl (simula presión de tecla Ctrl). Léete el man. puede simular la presión de cualquier tecla, o mover el mouse (mousemove 100 100, por ejemplo).

Saludos.
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Vie Jun 20, 2014 1:59 pm

Me temo que no funciona :(

En mi caso con la ejecución de top el plugin-container no me lo muestra como plugin-con si no como plugin-containe. Pero vamos ni con plugin-con ni con plugin-containe funciona.

He probado también a cambiar lo de qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity por xdotool Ctrl (por supuesto e instalado el xdotool) pero tampoco e tenido un resultado positivo. El problema en mi opinión es que no es detectado el flashplayer en este caso a través del plugin-container y por eso no se envía la orden de ejecutar ni el xdotool Ctrl ni el qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity
Saludos...
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por neurus » Vie Jun 20, 2014 5:35 pm

Bueno, el error está en tu máquina, eso es bastante obvio, porque en la mía funciona.

Lo que te queda por hacer es ver qué comando funciona, pero es un trabajo demasiado arduo para hacerlo yo, que no estoy sentado frente a tu equipo.

Puedes dejar así la primera línea:

#!/bin/bash -x

y agregar un echo $temp la línea anterior al if, para ver si está enviando el valor plugin-con a la variable. Es probable que la esté dejando vacía. Elimina |gawk '{print $13}' o modifica el número.

Y esas son todas las pruebas que se me ocurren.
No hay nada más que yo pueda hacer.

Saludos.
Avatar de Usuario
Songoku
Forista Nuevo
Forista Nuevo
Mensajes: 33
Registrado: Dom Ago 27, 2006 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por Songoku » Vie Jun 20, 2014 8:57 pm

Olvidé mencionarlo en el anterior mensaje pero lo de |gawk '{print $13}' ya probé eliminándolo y sin resultados.
He probado también a cambiar la primera linea por #!/bin/bash -x y de nuevo no a servido de nada.
En cuanto a lo de cambiar ese 13 dime por que numero debo cambiarlo o como averiguar que numero debo poner por favor.
Y por ultimo también e añadido un echo $temp a la línea anterior al if quedando por tanto el script así:

Código: Seleccionar todo

#!/bin/bash -x
echo test
temp=`tempfile`
top -n 1 > $temp
echo $temp
if cat $temp |grep plugin-con
then qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity
fi
sleep 10m && exec $0
Pero por desgracia tampoco a funcionado. He cambiado lo de qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity por xdotool Ctrl pero con iguales resultados.
Saludos...
Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3301
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por doc » Sab Jun 21, 2014 11:27 pm

una preguntilla al hilo de todo esto: yo no suelo ver videos online, normalmente, si me descargo una peli, la veo, cuando me apetezca, en la pantalla de la TV, reproduciéndola en el ordenador (con VLC), y vía HDMI. La TV está en otra habitación (pasé los cables con un hábil agujero en la pared y así lo veo en la tele 'tumbao' en el sofá... y si es caso con un güiskito). :D :D
Pero resulta que cada 10 minutos me funciona no el salvapantallas sino el oscurecimiento del monitor... y tengo que ir a solucionarlo en el PC.

La pregunta es si este script (o parecido) puede servir para desabilitar eso (ahora lo que hago, si me acuerdo, es deshabilitar ese oscurecimiento, y habilitarlo al acabar el visionado)

Editado -- hace menos de un minuto --

Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: script deteccion de flashplayer y html5 para desactivado de salvapantallas

Mensaje por neurus » Sab Jun 21, 2014 11:41 pm

Sí, sirve también para eso.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje