Как запустить скрипт внутри ВМ с хоста?

Представление среды:

  • Хост-машина: Ubuntu 12.04 LTS
  • Гостевая машина: Ubuntu 12.04 LTS. Внутри этой виртуальной машины существует my_program.py .

  • Система виртуализации: VirtualBox 4.3

Вопрос:

Есть Есть ли способ запустить my_program.py с хост-машины?

4
задан 2 July 2014 в 13:57

2 ответа

Можно использовать Vboxmanage, чтобы сделать это. Форма команды

VBoxManage guestcontrol <uuid|vmname> exec[ute]
            --image <path to program> --username <name>
            [--passwordfile <file> | --password <password>]
            [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"]
            [--verbose] [--timeout <msec>]
            [--wait-exit] [--wait-stdout] [--wait-stderr]
            [--dos2unix] [--unix2dos]
            -- [[<argument1>] ... [<argumentN>]]

Для запущения скрипта Python, можно ввести следующее - stdout, и stderr возвращаются к хост-машине этой командой

VBoxManage guestcontrol "Name of Virtual Machine Goes Here" exec --image /path/to/my/script --username UserNameGoesHere --password PasswordGoesHere --wait-exit --wait-stdout --wait-stderr

В моем случае, которым сценарий тестирования был

#!/usr/bin/python
print "hello"

, можно найти информацию об этом путем запуска программы VirtualBox и выбора Справки из меню, и определенный раздел, который Вы ищете, 8.31. VBoxManage guestcontrol

6
ответ дан 2 July 2014 в 13:57

Самый легкий способ запустить приложение в госте состоит в том, чтобы отправить нажатие клавиши на клавиатуре гостю от хоста. В госте приложение устанавливается для запуска на нажатии клавиши (Используя настройки-> сочетания клавиш или ccsm или любые другие пути). От терминала или из сценария мы отправляем нажатие клавиши гостю при слушании того гостя запуск ОС программа/приложение.

Для отправки нажатия клавиши используют опцию keyboardputscancode
VBoxManage, Например
VBoxManage controlvm [name] keyboardputscancode 1d 38 e0 53, отправит Ctrl + Alt + Delete, и VBoxManage controlvm [name] keyboardputscancode 38 24 отправит Alt + J.

преимущество этого метода - Вы, не должны устанавливать программное обеспечение, даже гостевые дополнения. Вы не должны устанавливать сеть, ssh, пароли и т.д.
Скэн-коды для ключа могут быть найдены здесь .

1
ответ дан 2 July 2014 в 13:57

Другие вопросы по тегам:

Похожие вопросы: