Я хотел то же самое и закончил тем, что решил без использования guestcontrol. На моем хосте MacOS X у меня есть папка (с именем Windows), которую мой клиент vbox с Win7 отобразил как Z :. Я использую фиктивные файлы для связи между хостом и моими клиентами следующим образом:
На хосте Mac: - создал один shell-скрипт с иконкой для каждого приложения 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-сценарии на клиенте. Прекрасно работает, и я думаю, что это соответствует идее Мартиса в предыдущем посте.