См .: Запуск приложения в Windows с рабочего стола Ubuntu.
Мне было интересно, мог ли Таккат подробно рассказать о реальном исполнении, то есть о том, как это сделать, в файле сценария.
Это будет очень полезно. Заранее спасибо
Мой файл сценария InternetExplorerVM.sh выглядит следующим образом, исполнение выполнено
/path/to/InternetExplorerVM.sh "C:\Program Files\Internet Explorer\iexplore.exe"
#!/bin/bash
# start Internet Explorer inside of a Windows7 Ultimate VM
echo "Starting 'Internet Explorer' browser inside Windows7 virtual machine"
echo ""
sleep 1
echo "Please be patient"
VBoxManage startvm b307622e-6b5e-4e47-a427-84760cf2312b
sleep 15
echo ""
echo "Now starting 'Internet Explorer'"
##VBoxManage --nologo guestcontrol b307622e-6b5e-4e47-a427-84760cf2312b execute --image "$1" --username RailroadGuest --password bnsf1234
VBoxManage --nologo guestcontrol b307622e-6b5e-4e47-a427-84760cf2312b execute --image "C:\\Program/ Files\\Internet/ Explorer\\iexplore.exe" --username RailroadGuest --password bnsf1234 --wait-exit --wait-stdout
echo ""
echo "Saving the VM's state now"
VBoxManage controlvm b307622e-6b5e-4e47-a427-84760cf2312b savestate
sleep 2
#Check VM state
echo ""
echo "Check the VM state"
VBoxManage showvminfo b307622e-6b5e-4e47-a427-84760cf2312b | grep State
exit
Мои извинения за любые ошибки, я впервые публикуюсь на askubuntu. Заранее огромное спасибо , Это было очень полезно. Это необходимо для гостей BNSF, их эмулятор мэйнфрейма работает исключительно на Internet Explorer с поддержкой Java.
Он в основном говорит, что вы можете сделать это:
VBoxManage
, чтобы вы могли сделать что-то вроде ./runinwindows "C:\\some\\path\\executable.exe"
Например:
#!/bin/bash
# Start the VM
VBoxManage startvm "<Name_of_VM>"
# Run the executable
VBoxManage --nologo guestcontrol "<Name_of_VM>" execute --image "$1" --username windowsuser --password password --wait-exit --wait-stdout
# Save the current machine state for the next time you run the script.
VBoxManage controlvm "Name_of_VM" savestate
Затем вы можете запустить Исполняемый файл Windows (в данном случае) в вашем терминале, но на самом деле он будет работать на виртуальной машине.
Я написал скрипт для управления виртуальной машиной с помощью VBoxManage. Вы можете выполнять команды S используя скрипт следующим образом:
./vmcontrol.sh -m [VMName] [Your Command]
Сценарий:
#!/bin/bash
#Creation du script vmcontrol.sh
function execute
{
vmname=\$1;
command=\$2;
shift 2;
VBoxManage --nologo guestcontrol \$vmname execute --image \$command --username root --password root --wait-exit --wait-stdout --wait-stderr -- \$@ 2>&1 ;
}
param=\$1;
#Execution d'une commande
if [ \$param = "-e" ]
then
command=\$2;
shift 1;
execute "Xubuntu" \$@ ;
#Execution d'une commande dans une vm donnée
elif [ \$param = "-m" ]
then
vmname=\$2;
command=\$3;
shift 1;
execute \$@
#Allumer une machine virtuelle donnée
elif [ \$param = "-s" ]
then
vmname=\$2;
VBoxHeadless --startvm \$vmname;
elif [ \$param = "-c" ]
then
vmname=\$2;
VBoxManage clonevm Xubuntu --mode machine --name \$vmname --basefolder /home/VMs --register ;
elif [ \$param = "-r" ]
then
vmname=\$2;
VBoxManage unregistervm \$vmname --delete ;
elif [ \$param = "-vbox" ]
then
startx virtualbox;
elif [ \$param = "-i" ]
then
vmname=\$2;
if [ \$vmname = "vms" ]
then
VBoxManage list vms
elif [ \$vmname = "runningvms" ]
then
VBoxManage list runningvms
else
#Erreur
echo "error in commmande";
fi
elif [ \$param = "-sv" ]
then
vmname=\$2;
VBoxManage startvm \$vmname ;
elif [ \$param = "-p" ]
then
vmname=\$2;
VBoxManage controlvm \$vmname acpipowerbutton;
else
#Erreur
echo "error in commmande";
fi