PDF de programación - Automatizando Radit con xmacro

<<>>
Imágen de pdf Automatizando Radit con xmacro

Automatizando Radit con xmacrográfica de visualizaciones

Publicado el 19 de Abril del 2018
516 visualizaciones desde el 19 de Abril del 2018
158,8 KB
5 paginas
Automatizando Radit con xmacro 

1. Instalando xmacro 
2. Grabando una macro 

¿Porqué escribir el nombre de la lista y no seleccionarla? 

3. Probando la macro 
4. Creando un script de arranque 
5. Paso Final, poner el script al inicio de sesión. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Automatizando Radit con xmacro
 
Hay muchas radios desatendidas que no tienen operador las 24 horas y al utilizar Radit la
cuestión se complica. 
 
Radit tiene la particularidad de necesitar interacción humana para abrir una lista, cargar
música y pulsar "Play" para iniciar la transmisión. 
 
 
Como tampoco admite parámetros por línea de comandos (algo que le he pedido
encarecidamente al creador de Radit), tuve que ingeniarmelas para hacer que Radit se
 
 
inicie y ponga a reproducir una determinada lista si es que la PC se reinicia. 
 
Antes que nada, he configurado la PC de la radio para que  
1. se encienda luego de un apagón (a través del BIOS) 
2. haga inicio automático de sesión (varía según el escritorio) 

   

 
 

 
 
1. Instalando xmacro
Vamos a necesitar un pequeño paquete llamado 'xmacro'. No viene instalado en GET de
 
 
manera predeterminada, pero existe en los repositorios de Debian, por lo que instalarlo
 
 
(como root) es un simple: 
 

 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# apt-get install xmacro 

 

 

 

 

 

 

 

 

 

 

 

 

 
xmacro es un paquete que consta de dos programas bien definidos: xmacrorec2 y
 
 
xmacroplay. 
 
El primero sirve para guardar movimientos de ratón, clics y pulsaciones de teclas
realizadas en un servidor gráfico X. El segundo sirve para reproducir esas pulsaciones y
 
 
movimientos. 
 
Cabe destacar que ambos programas funcionan por línea de comandos y no poseen
interfaz gráfica, así que amíguense con la terminal… 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 
 

2. Grabando una macro
Una vez que estamos en el escritorio de GET y que ya instalamos xmacro, abrimos una
 
 
terminal y ejecutamos xmacrorec2 con nuestro usuario. Vamos a ver algo como lo
 
siguiente: 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$ xmacrorec2
Server VendorRelease: 11602000
XRecord for server ":0" is version 1.13.
Press the key you want to use to end the application.
This key can be any key,
as long as you don't need it while working with the remote display.
A good choice is Escape.

The chosen quit-key has the keycode: 9
XQueryPointer returned: 1
Got Start Of Data
Skipping...
- Skipping stale KeyRelease event. 1
MotionNotify 545 393
KeyStrPress h
hKeyStrRelease h
Delay 279
KeyStrPress o
oKeyStrRelease o
Delay 291
KeyStrPress l
lKeyStrRelease l
Delay 298
KeyStrPress a
aKeyStrRelease a
Delay 1969
MotionNotify 259 410
ButtonPress 1
Delay 104
ButtonRelease 1
Got QuitKey, so exiting...
xmacrorec2: Exiting.

 

 

 

 

 

 

 

 

 
Vemos que muestra los números de versión, el display activo ":0" y nos solicita una tecla
para terminar de capturar los eventos.  
 
Nos propone la tecla "Escape" lo cual es una buena elección. Si en nuestra macro
 
 
necesitáramos pulsar la tecla Escape, podríamos elegir otra, como F12 por ejemplo. 
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fijensé que al pulsar la tecla Escape muestra un "skipping" para indicar que es una tecla
 
que va a ignorar y luego comienza a registrar toda la información: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

● un movimiento de ratón en las coordenadas 545 393 
● la pulsación de la tecla "h" (Press y Release ­ Pulso y suelto) 
● muestra un delay en milisegundos (279) 
● la pulsación de la tecla "o", la "l" y la "a" 
● un movimiento de ratón y la pulsación del botón izquierdo. 
● Finalmente al pulsar la tecla Escape termina la macro. 

 

 

 
En el ejemplo, he escrito la palabra “hola”.  
 
Cuando se ejecuta xmacrorec2 sin parámetros,
 
registradas en la terminal, en la salida estándar. 
 
Es necesario entonces indicarle que guarde todas las acciones en un archivo, de la
 
siguiente manera: 
 

todas nuestras acciones quedan

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$ xmacrorec2 > abrir-lista.xmacro

 

 

todas

nuestras
 

acciones
 

 
Así,
"abrir­lista.xmacro" (pueden darle el nombre de archivo que les plazca) 
 
Personalmente he "afinado" el método, utilizando mayormente el teclado, por lo que
expongo mis pasos por si alguien quiere imitarlos: 

registradas en un archivo llamado
 

quedarán

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Ejecuto Radit 
2. abro una terminal tratando de dejar a la vista barra de la ventana de Radit 
3. ejecuto el comando anterior "xmacrorec2 > abrir­lista.xmacro" 
4. pulso Escape para dar inicio al registro de acciones 
5. muevo el puntero y hago clic en la barra de la ventana de Radit para darle foco 
6. pulso "Control + o" para abrir el cuadro de diálogo de Abrir PlayList 
 
7. como el foco queda en el cuadro de texto de "File name" simplemente escribo toda
ejemplo
 

 
la
ubicación
 
"/media/DATA/listas/folcklore.lst" 

 
lista

 
 
ruta

 
por
 

 
del
 

deseo,

 
de
 

que

 
la

 
 

 
 

la

 

 

 

 

 

 

 

 

 

8. pulso "Enter" para abrir la lista que acabo de escribir 
9. ahora si, muevo el ratón y hago clic sobre el "Play" 
10. pulso Escape para terminar de grabar la macro. 

 

 

 

 

 

 

 

 
¿Porqué escribir el nombre de la lista y no seleccionarla?
 
He descubierto que si se utiliza solo el ratón y se altera la cantidad de carpetas, el script
deja de funcionar correctamente (caso que crearamos una carpeta llamada "lala" nos
 
correría la carpeta "lista" un lugar más abajo y nuestro script ya no serviría) 
Al escribir toda la ruta de la lista deseada, indefectiblemente la va a abrir. Probado y
 
comprobado! 


 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Probando la macro
Ahora que tenemos nuestro script macro grabado como "abrir­lista.xmacro" hay que
probarla para estar seguros. 
 
Cerramos Radit y lo volvemos a abrir para "limpiar" todo. 
 
En la terminal ejecutamos lo siguiente: 
 

 

 

 

 

 

$ xmacroplay "$DISPLAY" < abrir-lista.xmacro

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 
 

 
 

 
 

 
Es importante indicar la variable de sistema $DISPLAY, para que efectivamente ejecute la
 
macro en la pantalla activa, de lo contrario va a ignorar todas las acciones que lea del
 
archivo “abrir­lista.xmacro”. 
 
 
Si todo va como debe, deberíamos ver como se abre el cuadro de diálogo, se tipea texto
sin intervención, la lista se abre y comienza a reproducir. Quiere decir que hemos hecho
 
las cosas bien! 
 
4. Creando un script de arranque
Ahora viene el momento en que juntamos todas las partes. Vamos a crear un script BASH
para que todo se ejecute en el orden que queremos. En este caso ejecuto meteo,
raditcast y radit en ese orden. 
 
Aún cuando usted no sepa programar en BASH, si copia y pega este script debería
 
funcionar sin problemas. Sólo tenga cuidado de colocar la ruta completa donde ha
 
guardado su macro. 
 
Abrimos el editor de texto de nuestra preferencia y escribimos: 
 

   
 

 
 

 
 

 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#!/bin/bash
# Script para automatizar Radit
#
# hacemos una pausa de 10 segundos para esperar
# que el escritorio termine de cargar
sleep 10
# iniciamos meteo y raditcast
meteo &
raditcast &
# hacemos una pausa de 2 segundos
sleep 2
#iniciamos radit
radit &
# hacemos una última pausa de 2 segundos y lanzamos la macro
sleep 2
xmacroplay "$DISPLAY" < abrir-lista.xmacro

 

 

 

 

 

 

 

Una vez creado el script, lo guardamos (por ejemplo como abrir­lista.sh) y le damos
 
permisos de ejecución (para mayor información consulte a Google). 
 
Ayuda rápida, desde consola 
 

 

 

 

 

 

 

 

$ chmod +x abrir­lista.sh 

 

 

 

 

 

 

 
Si probamos el script (ejecutando desde consola o desde el gestor de archivos) debería
 
realizar estos pasos: 
1. ejecutar meteo 
2. ejecutar raditcast 
3. ejecutar radit 
4. abrir el cuadro de diálogo y escribir la ruta de la lista 
5. poner play y comenzar a reproducir 

 

 

 

 

 

 

 

 
 
5. Paso Final, poner el script al inicio de sesión.
Aquí la forma cambia según que escritorio tengamos y no voy a entrar en detalles. 
 
En Mate vamos a encontrar "Aplicaciones al inicio" en el panel de control, por mencionar
un escritorio. 
 
Solo resta reiniciar y ver cómo ocurre la magia. Automatización extrema! 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Diego 'dragonauta' Rucci. 
http://jinetedeldragon.wordpress.com/ 

 
Material bajo licencia CC BY 4.0 
http://creativecommons.org/licenses/by/4.0/
  • Links de descarga
http://lwp-l.com/pdf10496

Comentarios de: Automatizando Radit con xmacro (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad