Недавно я начал новую работу, где мы запускаем виртуализированные копии Windows внутри VMWare Fusion (Mac OSX — хост). Среди прочего, у нас есть несколько служебных .bat
файлов, которые запускаются регулярно. Я хотел бы иметь возможность запускать эти команды из моей хостовой среды.
vmrun
отлично подходит для этого, и я придумал что-то вроде следующего:
vmrun -T ws -gu <user> -gp <password> runProgramInGuest <.vmx file> c:\/batch\/hello.bat
Это выполняет команду,но он делает это молча. В этом случае мой hello.bat
содержит классический
echo "hello, world!"
Вопрос: есть ли способ захватить то, что отправляется на стандартный вывод в консоли Windows, и отобразить это на моем хосте с помощью этих команд
решение1
vmrun
не предоставляет способа перехвата вывода программы, запущенной на гостевой системе, и передачи его вам. Я предлагаю настроить гостевую программу для отправки вывода в файл на хосте через общую папку, и тогда вы сможете использовать tail
этот файл.
Чтобы усложнить задачу, вы можете настроить некое подобие TCP-соединения клиент/сервер между гостем и хостом (возможно, просто подключить его к SSH), но тогда вам придется все это настраивать заранее.