mercoledì 21 aprile 2010

Automazioni desktop su linux con xautomation

Spesso si ha la necessità di creare degli script che automatizzano il lavoro anche in ambiente desktop.
Oggi vedremo come far muovere il cursore del vostro mouse, cliccare su qualche pulsante e scrivere automaticamente con qualche comando.
Per effettuare questa operazione è necessario installare il pacchetto xautomation
Per utenti debian e derivati:
sudo apt-get install xautomation

Per gli altri utenti sono disponibili i sorgenti su:
http://hoopajoo.net/projects/xautomation.html

Il comando che ci permette di compiere le operazione di automazione di click, movimenti e scrittura è:
xte
È possibile visualizzare i comandi base di xte con il comando:
xte --help
I comandi base sono:
key k       
Scrive il carattere k
keydown k   
Schiaccia il tasto k
keyup k
Rilascia il tasto k
mouseclick i
Click del mouse
mousemove x y
Muove il cursore del mouse nella posizione x,y
mousermove x y
Muove il cursore del mouse nella posizione x,y relativamente alla posizione attuale
mousedown i
Tiene il tasto del mouse premuto
mouseup i
Rilascia il tasto del mouse
sleep x
Pausa di x secondi
usleep x
Pausa di x microsecondi

I comandi non necessariamente devono essere lanciati uno per volta. (È necessario racchiudere i comandi fra doppi apici)
Esempio di uso:
xte "mousemove 100 300" "mouseclick 1"
Questo muoverà il cursore del mouse alla posizione 100 300 e clicca nella posizione corrente.

Altro esempio:
xte "mousemove 500 300" "mouseclick 1" "key 9" "key w" "key 9"
Muove il cursore del mouse nella posizione 500 300, clicca e scrive 9w9

È possibile fare praticamente tutto, l'unica cosa necessaria è la creatività. Ovviamente xte se integrato in un bash script diventa veramente potente.

Buon scripting.