Я хотів те ж саме і закінчив вирішити це, не використовуючи гостьовий контроль. На моєму хості MacOS X у мене є папка (з назвою Windows), яку мій клієнт vbox із програмою Win7 відобразив як Z :. Я використовую фіктивні файли для зв'язку між хостом і моїми клієнтами так:
На хості Mac: - створив одну оболонку-скрипт із піктограмою для кожної програми Windows, яку я хотів запустити у програмі Win-клієнт. Що в основному вони роблять, це переконатися, що VirtualBox не був запущений раніше, а потім створює файл "запустити цей конкретний додаток" у загальній папці, який Windows може прочитати після запуску. Приклад того, як виглядає такий сценарій, такий:
#!/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
Тоді на клієнті Windows у мене в папці запуску є відповідний скрипт (BAT-файл), який виглядає приблизно так:
@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
Таким чином, будь-коли, коли я хочу додати нову піктограму для запуску клієнта на свій Mac, я копіюю скрипт оболонки, вигадую новий фіктивний файл і додаю відповідні лінії запуску в BAT-скрипт на клієнті. Чудово працює, і я думаю, що це відповідає ідеї Мартіса в попередньому дописі.