Как запустить приложение GUI на Windows VM?

Я установил бродячую и виртуальную коробку на моем Mac. Я создал виртуальную машину Windows10, и она настроена с WinRM.

Я могу запускать команды на Windows VM через Vagrant. Однако я не могу увидеть какой-либо графический интерфейс на виртуальной машине.

Например, если я открываю командную строку в виртуальной машине Windows и запускаю команду "start chrome.exe", запускается браузер Chrome, и отображается интерфейс браузера. Однако если я наберу ту же команду через winrm vagrant winrm -c "start chrome.exe", он запускает браузер, но пользовательский интерфейс не отображается в VM.Такая проблема возникает, если я запускаю команды через поставщика оболочки.

Есть ли способ, я могу запускать команды из vagrant и приложение будет запускаться в режиме GUI в ВМ?

2 ответа

Решение

Есть ли способ, я могу запускать команды из vagrant и приложение будет запускаться в режиме GUI в ВМ?

Нет.

С https://msdn.microsoft.com/en-us/library/aa384426(v=vs.85).aspx:

Вы можете использовать объекты сценариев WinRM, средство командной строки WinRM или средство командной строки Windows Remote Shell WinRS для получения данных управления с локальных и удаленных компьютеров...

winrm используется для удаленного управления и не пересылает окно X, поэтому вы не можете запустить такую ​​программу, как chrome, и переслать пользовательский интерфейс куда-либо еще.

Ваши лучшие варианты для запуска программы пользовательского интерфейса с вашей виртуальной машины:

  • запуск из графического интерфейса виртуальной машины (либо путем включения из Vagrantfile, либо путем открытия виртуальной машины из VirtualBox)
  • запуск vagrant rdp для входа в виртуальную машину

Проще всего запустить виртуальную машину в "режиме графического интерфейса" (в отличие от "безголового"). Я использую VirtualBox от Oracle, который является одним из вариантов, легко настраиваемых в вашем Vagrantfile.

Ознакомьтесь с моим разделом "Конфигурация для конкретного поставщика":

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
   config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #        # (so we can run the browser)
     vb.gui = true
     vb.name = "windows10-eval"
  #   # Customize the amount of memory on the VM:
     vb.memory = "2048"
   end

Когда моя виртуальная машина загружается, я автоматически получаю графический интерфейс, который выглядит точно так же, как если бы я загружался с обычной машины Windows. Эта коробка удобно поставляется с уже подготовленным Chrome, но ее было бы легко установить и использовать.

Хотя вы не можете напрямую запустить приложение с графическим интерфейсом из WinRM, вы также можете добавить ссылку на свое приложение при запуске Windows, чтобы гарантировать, что приложение запускается при запуске системы.

Добавьте в свой сценарий подготовки следующее:

mklink C:\Users\vagrant\AppData\Roaming\Microsoft\Windows\"Start Menu"\Programs\Startup\MyApp.link C:\MyApp\\MyApp.exe
shutdown /r /t 1
Другие вопросы по тегам