Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Entorno gráfico » KDE


Nuevo tema Responder al tema
 [ 34 mensajes ]  Ir a página 1, 2, 3  Siguiente
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Jue Jun 19, 2014 9:08 pm 
Arriba  
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:
#!/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...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Jue Jun 19, 2014 11:00 pm 
Arriba  
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

 Perfil WWW  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mié Ago 11, 2010 10:32 am
Mensajes: 3224
Ubicación: Oviedo-es_ES

Nota Publicado: Vie Jun 20, 2014 12:18 am 
Arriba  
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'?

 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Vie Jun 20, 2014 12:31 am 
Arriba  
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

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Vie Jun 20, 2014 1:02 am 
Arriba  
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:
#!/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...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1797

Nota Publicado: Vie Jun 20, 2014 1:30 am 
Arriba  
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.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Vie Jun 20, 2014 1:35 am 
Arriba  
¿Pero como iría eso exactamente? ¿puedes por favor pegar el script tal y como quedaría según eso que propones?
Saludos...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1797

Nota Publicado: Vie Jun 20, 2014 2:03 am 
Arriba  
Se suponía que sabía lo que estabas haciendo. O por lo menos que entendías cómo hacer un script.

Código:
#!/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.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Vie Jun 20, 2014 2:55 am 
Arriba  
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:
#!/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...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1797

Nota Publicado: Vie Jun 20, 2014 3:52 am 
Arriba  
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:
#!/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.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Vie Jun 20, 2014 1:59 pm 
Arriba  
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...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1797

Nota Publicado: Vie Jun 20, 2014 5:35 pm 
Arriba  
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.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Ago 27, 2006 7:00 am
Mensajes: 32

Nota Publicado: Vie Jun 20, 2014 8:57 pm 
Arriba  
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:
#!/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...

 Perfil  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mié Ago 11, 2010 10:32 am
Mensajes: 3224
Ubicación: Oviedo-es_ES

Nota Publicado: Sab Jun 21, 2014 11:27 pm 
Arriba  
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 --


 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1797

Nota Publicado: Sab Jun 21, 2014 11:41 pm 
Arriba  
Sí, sirve también para eso.

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 34 mensajes ]  Ir a página 1, 2, 3  Siguiente
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
html5

en Programación

ercros

1

625

Dom Jun 02, 2013 10:42 pm

akodo Ver último mensaje

google libera el vp8, ¿un respiro para html5?

en Noticias y Actualidad

dbfuentes

8

1490

Jue May 27, 2010 2:53 pm

niky45 Ver último mensaje

Xserver desactivado

en Otros escritorios y entornos

sancochito

7

2455

Jue Feb 24, 2011 5:51 pm

gory Ver último mensaje

Problema Con Flash Y Html5 .sera La Tarjeta De VIdeo?

en Hardware

ralexgarma

7

1580

Vie Mar 30, 2012 9:53 pm

t4rr1t0 Ver último mensaje

infierno con el flashplayer en chromium

en Software

jsskorp11

2

519

Lun Sep 12, 2016 6:32 am

jsskorp11 Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO