#!/bin/bash find_coord() { import -window root -depth 8 -interlace none test.png visgrep test.png $1.pat| tr , ' ' } click_next() { coord=`find_coord next` while [ -z "$coord" ] ; do xte "key Tab" sleep 5 coord=`find_coord next` done xte "key " sleep 5 } wait_screen() { coord=`find_coord $1` echo -n Waiting $1. while [ -z "$coord" ] ; do sleep 10; coord=`find_coord $1` echo -n . done echo found } die() { echo $1 exit 1 } shot() { import -window root -quality 50 $1 } rm -f hda qemu-img create hda 8G qemu -no-reboot -k en-us -hda hda -cdrom $1 -boot d & qemu_pid=$! sleep 10; wait_screen boot coord=`find_coord boot` xte "mousemove $coord" "mouseclick 1" sleep 3 xte "key Down" xte "key Return" wait_screen splash wait_screen language click_next wait_screen license xte "key Tab" sleep 5 xte "key Tab" sleep 5 xte "key Tab" sleep 5 xte "key " sleep 5 xte "key Tab" sleep 5 xte "key Tab" sleep 5 click_next wait_screen kbd shot kbd.jpg click_next wait_screen timezone shot timezone.jpg click_next wait_screen datetime shot datetime.jpg click_next wait_screen vm shot vm.jpg click_next wait_screen basesystem shot base.jpg wait_screen savesettings shot savesettings.jpg wait_screen lilo click_next wait_screen addons shot addons.jpg click_next wait_screen pack1 shot pack1.jpg click_next wait_screen pack2 shot pack2.jpg wait_screen root shot root.jpg xte "key Tab" "sleep 3" "key Tab" "sleep 3" "key Tab" "sleep 3" "str 123" "key Tab" "sleep 3" "str 123" click_next wait_screen user shot user.jpg xte "key Tab" "sleep 3" "key Tab" "sleep 3" "str test" xte "key Tab" "sleep 3" "key Tab" "str 123" xte "sleep 3" "key Tab" "sleep 3" "str 123" click_next wait_screen net shot net.jpg click_next wait_screen x11 shot x11.jpg click_next wait_screen finish xte "key Tab" "sleep 3" "key Tab" "sleep 3" "key " wait_screen black wait $qemu_pid qemu -no-reboot -k en-us -hda hda & wait_screen sysboot shot sysboot.jpg wait_screen syssplash shot syssplash.jpg wait_screen sysxdm shot sysxdm.jpg