Est-il possible de lancer l'interface graphique de la machine sans tête de VirtualBox?

12

Après avoir lancé une machine virtuelle (Ubuntu 12.04) en mode sans tête sur l'hôte Windows 7

C:\Users\XXX>VBoxManage startvm "ubuntu 12.04" --type headless 
Waiting for VM "ubuntu 12.04" to power on... 
VM "ubuntu 12.04" has been successfully started.

Puis-je en quelque sorte lancer l'interface graphique normale que j'obtiendrais en lançant la machine virtuelle à partir de l'interface graphique de VirtualBox?

Je sais que je devrais être capable de RDP sur cette machine, mais lorsque j'utilise Windows 7 intégré au client RDP et que j'utilise localhost:rdp_port(transmis par NAT dans les options VB), j'obtiens l'erreur

    ---------------------------
    Remote Desktop Connection
    ---------------------------
    Your computer could not connect to another console session on the remote 
    computer because you already have a console session in progress.
    ---------------------------
    OK   Help   
    ---------------------------

Que puis-je faire dans cette situation pour me connecter à cette machine virtuelle avec GUI?

Est-ce la seule solution pour moi d'éteindre la machine, puis de la lancer avec l'interface graphique? Cela ne semble vraiment pas pratique de le faire chaque fois que j'ai besoin d'une interface graphique - car je veux que la machine soit sans tête.

ÉDITER

J'ai également essayé xrdpmais je ne peux pas me connecter à la machine - je l'ai derrière le NAT VirtualBox et les ports sont transférés.

Patryk
la source

Réponses:

10

Je viens de résoudre ce problème en cliquant sur la flèche verte "Afficher" en haut de l'interface graphique de VirtualBox alors que mon instance sans tête était déjà en cours d'exécution.

Je pouvais voir à quoi ressemblerait la fenêtre de la machine virtuelle dans le volet "Aperçu" de l'interface graphique de VirtualBox, et après avoir cliqué sur "Afficher", la fenêtre de la machine virtuelle apparaissait comme si j'avais initialement mis la machine sous tension à partir de l'interface graphique de Virtualbox.

Modifier: lorsque vous fermez la fenêtre de la machine virtuelle, cela vous donnera l'option supplémentaire de "Continuer à s'exécuter en arrière-plan", afin que votre instance sans tête puisse redevenir sans tête. Interface graphique de VirtualBox avec le bouton Afficher en surbrillance

Dan Yard
la source
3

Vous pouvez vous attacher à une machine virtuelle sans tête en exécutant VBoxSDL --startvm <VMname> --separate. Si vous exécutez VBoxSDLsans arguments, vous pouvez voir d'autres options qui pourraient vous intéresser.

nharward
la source
Thx, utile et pour une connexion à un autre hôte?
Philippe Gachoud
3
  1. Vous pouvez cliquer sur le bouton Afficher pour obtenir l'interface graphique d'une machine virtuelle sans tête dans VirtualBox Manager:

  2. Lorsque vous avez fini d'utiliser l'interface graphique, vous pouvez la détacher et votre machine virtuelle reviendra sans tête.

J'ai testé cela sur Windows 10 et cela a fonctionné à partir de VirtualBox 5.1.22. Doit être le même sur Mac / Linux.

Eklect
la source
1

Après avoir obtenu la même erreur, je viens de changer le port par défaut 3389 en autre chose.

J'ai utilisé un numéro de port aléatoire (dans mon cas, 5500). Ensuite, cela a fonctionné.

Et désactivé le pare-feu Windows pendant un moment - mais je ne pense pas que le pare-feu était le problème.

Michael Field
la source
1

J'ai résolu le problème - je n'avais pas installé le pack d'extension VirtualBox. Bien qu'il soit ajouté dans la version Linux de VirtualBox, vous devez l'installer séparément sur Windows.

Patryk
la source
1
Mais pourriez-vous ouvrir l'interface graphique d'une machine virtuelle sans tête?
Fabricio PH
0

Mon expérience a été que le RDP de VirtualBox est réellement fourni en utilisant VNC, et non le protocole Microsoft RDP. J'ai pu utiliser la fonction VRDE à l'aide de VNC Viewer (plutôt que Microsoft Remote Desktop).

Au cas où cela aiderait, voici les commandes que j'ai utilisées pour configurer l'accès VRDE à une VM qui s'exécute sur un serveur sans tête (pas de clavier, souris, moniteur connecté).

Trouvez l'UUID de la VM:

vboxmanage list vms

VM=0cb7efa7-82d2-4fe7-9abe-79db4e4ee117

vboxmanage modifyvm $VM \
    --vrde on \
    --vrdeport 3389 \
    --vrdeaddress "" \    # WARN! Access from anywhere on network
    --vrdemulticon on \
    --vrdereusecon on \
    --vrdeauthtype null   # WARN! No authentication (just press enter if prompted for password)

Si vous lancez la machine virtuelle en pause, vous pouvez rapidement tester la connexion VNC et les paramètres VDRE (par exemple si vous changez le port, etc.) sans frais de démarrage de la machine virtuelle, ou même de la détruire lorsque vous souhaitez essayer un autre paramètre:

vboxheadless --startvm $VM --start-paused

Lancez votre client VNC et essayez de vous connecter, et si vous réussissez à visualiser un grand rectangle noir, vous êtes prêt à annuler la pause de la machine virtuelle et à commencer le processus de démarrage:

vboxmanage controlvm $VM resume

(J'ai joué avec -vrdeauthtype externalsans succès - je n'ai jamais réussi à m'authentifier sur VNC)

RobM
la source