Estoy usando una Raspberry Pi en combinación con Chromium (modo quiosco) para mostrar algunas estadísticas. El Pi no tiene un teclado conectado, así que busqué una solución para enviar pulsaciones de teclas desde la terminal al proceso de Chromium (pestaña) . La entrada normal funciona, pero ¿cómo envío algo como F5
(una tecla especial: actualización del navegador) a través de esta solución?
# pidof chromium
20809 20790 20788 20786 20783
# echo 'some text' > /proc/20809/fd/0
Respuestas:
Programas GUI no leen desde su entrada estándar, que obtienen su entrada desde el servidor X . Hay herramientas para inyectar una pulsación de tecla en una ventana. xdotool es bastante común y conveniente.
Deberá encontrar la ID de ventana a la que desea enviar la pulsación de tecla. Puedes hacerlo con xdotool.
xdotool search --class Chrome
devuelve la lista de ID de ventanas de todas las ventanas de Chrome. Si esto devuelve más de uno, debe elegir el que desee. Puede usarxdotool search --name
para hacer coincidir el título en lugar de la clase. También puede analizar la salida de wmctrl y extraer la ID de ventana deseada.Una vez que haya encontrado la ID de ventana correcta, puede llamar
xdotool
para inyectar una tecla. Desafortunadamente, muchas aplicaciones rechazan eventos sintéticos, es decir, pulsaciones de teclas y eventos de mouse enviados por otra aplicación. Este es el caso con las versiones actuales de Chrome. Es posible inyectar una pulsación de tecla desde otra aplicación mediante un mecanismo diferente, pero eso requiere que la ventana esté enfocada. Puede hacer todo eso con xdotool, pero hará que el foco parpadee rápidamente a la ventana de Chrome y viceversa. El siguiente fragmento se envía F5a la primera ventana de Chrome (en un orden algo arbitrario).O con versiones anteriores de xdotool:
Recuerde que esto se envía F5a esa ventana y depende del programa decidir qué hacer con ella. En Chrome, esto vuelve a cargar la pestaña actual.
fuente
--windowid
bandera está ahora--window
(el comando te lo advierte)--title
opción es ahora--name
(el comando lo advierte fielmente)xdotool search --class Chrome key F5
La solución sugerida anteriormente usó xdotool como este
que no funcionó para mí Después de experimentar un poco, llegué a
Una vez, eso parecía estar funcionando, definí algunos scripts y actualicé mi archivo .lircrc como se muestra aquí:
http://pcfellow.com/ClementineRemote.html
fuente
Tuve un caso de uso similar en una Raspberry Pi con Raspbian Wheezy. Necesitaba rotar las pestañas en Chrome usando el modo quiosco (lamentablemente, instalar una extensión para hacer esto en el viejo Chrome ya no es razonable). El ejemplo de la respuesta aceptada tiene algunos errores tipográficos o simplemente no funciona con mis versiones de software, esto es lo que funciona para mí:
fuente
Si está utilizando Chromium para mostrar una página web personalizada y desea que se actualice regularmente, puede agregarle la siguiente etiqueta:
para actualizarlo automáticamente cada 5 segundos (puede configurarlo más corto o más largo si lo desea).
fuente
Históricamente he usado Auto Hot Key para hacer cosas como enviar pulsaciones de teclas, sin embargo, eso no está disponible en Linux, pero una búsqueda rápida en Google revela que hay IronAHK ( http://www.ironahk.net/ ) no hay mucho documentación disponible todavía, pero puede hacer el truco.
fuente