Quería lo mismo y terminé resolviéndolo sin usar guestcontrol. En mi host MacOS X tengo una carpeta (llamada Windows) que mi cliente vbox que ejecuta un Win7 ha asignado como Z :. Utilizo archivos ficticios para comunicarme entre el host y mis clientes de esta manera:
En el host de Mac: creé un script de shell completo con un icono para cada aplicación de Windows que quería iniciar en el cliente Win. Lo que básicamente hacen es asegurarse de que VirtualBox no se haya iniciado antes y luego crea un archivo "iniciar esta aplicación en particular" en la carpeta compartida que Windows puede leer después del inicio. Ejemplo de cómo se ve este script:
#!/bin/bash
# bail if vbox is already started/running windoze...
ps ax | grep -v grep | grep 'Windows 7' > /dev/null
if [ $? -eq 0 ]; then
echo "Sorry, Windows is already running."
exit 0
fi
# send a message to Windoze which program to start...
touch /Users/urban/Documents/Windows/START_TS2000I.TXT
# startup Windoze in seamless mode
vboxmanage setextradata 'Windows 7' GUI/Seamless on
vboxmanage startvm 'Windows 7' &
exit 0
Luego, en el cliente de Windows, tengo un script coincidente (archivo BAT) en la carpeta de inicio que se ve así:
@echo off
pushd "C:\Program Files\Omega Research\Program"
if exist Z:\start_ts2000i.txt start ORTrade.exe
if exist Z:\start_ts2000i.txt del Z:\start_ts2000i.txt
.
.
.
exit 0
De esta manera, cada vez que quiero agregar un nuevo icono de inicio de cliente en mi Mac, copio el script de shell, invento un nuevo archivo ficticio y agrego las líneas de inicio coincidentes en el script BAT en el cliente. Funciona muy bien y creo que está en línea con la idea de Martys en la publicación anterior.