我正在尝试启动一个需要用户界面的应用程序,作为“vagrant provision”的一部分。我可以看到该应用程序在任务管理器中以 vagrant 用户身份启动,但我在屏幕上看不到用户界面。
例如如果我使用如下简单的东西:
config.vm.provision "shell", inline: <<-SHELL
notepad
SHELL
我需要用户界面 - 为什么不显示?现在可能有更好的方法来启动应用程序,但我仍然很好奇发生了什么?
在 powershell 中直接在机器上运行相同的程序就可以了。
答案1
一种解决方法是使用schtasks
来触发命令,如下所示:
config.vm.provision "shell", inline: <<-SHELL
# Create a task that will never run automatically
schtasks /create /tn "notepad" /tr "notepad.exe" /sc monthly /st 07:00 /sd 01/01/1980 /f
# Run it now
schtasks /run /tn notepad
SHELL
答案2
这可以通过powershell_elevated_interactive
选项(显然它在幕后创建并运行一项计划任务)。