disposition vagabond lance des applications sans interface utilisateur sur Windows

3

J'essaie de lancer une application nécessitant l'interface utilisateur sur une fenêtre Windows dans le cadre de la "disposition vagabonde". Je peux voir que l'application est lancée en tant qu'utilisateur vagabond dans le gestionnaire de tâches, mais je ne vois aucune interface utilisateur à l'écran.

Par exemple, si j'utilise quelque chose d'aussi simple que:

config.vm.provision "shell", inline: <<-SHELL
  notepad
SHELL

J'ai besoin de l'interface utilisateur - pourquoi ne montre-t-il pas? Maintenant, il pourrait y avoir un meilleur moyen de lancer l'application, mais je suis curieux de savoir ce qui se passe?

Exécuter la même chose directement sur la machine dans Powershell fonctionne bien.

Zitrax
la source
Regardez comment l'utilisateur s'exécute, par exemple, il peut s'agir d' SYSTEMutilisateur. Ensuite, pour y accéder, l’outil graphique doit également partir du même utilisateur.
STTR
1
Vagrant exécute par défaut toute configuration sous l'utilisateur vagrant. En raison de problèmes de double saut et de contrôle de compte d'utilisateur, il exécute déjà tous les fournisseurs via une tâche planifiée. Cela ne fonctionne pas parce que le provisioner s'exécute sous une autre session de connexion, même s'il s'agit du même utilisateur.
Sneal

Réponses:

2

Une solution de contournement consiste à utiliser schtaskspour déclencher la commande, quelque chose comme ceci:

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
Zitrax
la source
1

Ceci peut être réalisé avec l' powershell_elevated_interactiveoption (qui crée et exécute apparemment une tâche planifiée sous les couvertures).

Adrianrians
la source