Ist es möglich, die Benutzeroberfläche der kopflosen VirtualBox-Maschine zu starten?


12

Nachdem ich eine virtuelle Maschine (Ubuntu 12.04) im Headless-Modus auf einem Windows 7-Host gestartet habe

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.

Kann ich irgendwie die normale GUI starten, die ich durch Starten der virtuellen Maschine über die GUI von VirtualBox erhalten würde?

Ich weiß, dass ich in der Lage sein sollte, RDP auf diesen Computer zu übertragen, aber wenn ich einen in Windows 7 integrierten RDP-Client verwende und localhost:rdp_port(von NAT in VB-Optionen weitergeleitet) verwende, wird der Fehler angezeigt

    ---------------------------
    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   
    ---------------------------

Was kann ich in dieser Situation tun, um eine Verbindung zu dieser virtuellen Maschine mit GUI herzustellen?

Ist es die einzige Lösung für mich, die Maschine auszuschalten und dann mit der GUI zu starten? Es klingt wirklich nicht bequem, dies jedes Mal zu tun, wenn ich eine grafische Benutzeroberfläche benötige - da ich möchte, dass die Maschine kopflos ist.

BEARBEITEN

Ich habe es auch versucht xrdp, kann aber keine Verbindung zum Computer herstellen - ich habe es hinter der VirtualBox NAT und die Ports werden weitergeleitet.

Antworten:


10

Ich habe dieses Problem gerade gelöst, indem ich auf den grünen Pfeil "Anzeigen" oben in der VirtualBox-Benutzeroberfläche geklickt habe, während meine kopflose Instanz bereits ausgeführt wurde.

Ich konnte sehen, wie das VM-Fenster im Bereich "Vorschau" auf der VirtualBox-Benutzeroberfläche aussehen würde, und nachdem ich auf "Anzeigen" geklickt hatte, wurde das VM-Fenster angezeigt, als hätte ich den Computer ursprünglich über die Virtualbox-Benutzeroberfläche eingeschaltet.

Bearbeiten: Wenn Sie das VM-Fenster schließen, erhalten Sie die zusätzliche Option "Im Hintergrund weiter ausführen", sodass Ihre kopflose Instanz wieder kopflos wird. VirtualBox-GUI mit hervorgehobener Schaltfläche Anzeigen


3

Sie können durch Ausführen eine Verbindung zu einer kopflosen VM herstellen VBoxSDL --startvm <VMname> --separate. Wenn Sie VBoxSDLohne Argumente arbeiten, sehen Sie andere Optionen, die Sie interessieren könnten.


Danke, nützlich und für eine Verbindung zu einem anderen Host?
Philippe Gachoud

3
  1. Sie können auf die Schaltfläche Anzeigen klicken, um die Benutzeroberfläche einer kopflosen VM im VirtualBox-Manager abzurufen:

  2. Wenn Sie mit der Verwendung der GUI fertig sind, können Sie sie trennen und Ihre VM wird kopflos zurückkehren.

Ich habe dies unter Windows 10 getestet und es funktionierte ab VirtualBox 5.1.22. Sollte unter Mac / Linux gleich sein.


1

Nachdem ich den gleichen Fehler erhalten hatte, habe ich gerade den Standardport 3389 in etwas anderes geändert.

Ich habe eine zufällige Portnummer verwendet (in meinem Fall 5500). Dann hat es funktioniert.

Und die Windows-Firewall für einen Moment deaktiviert - aber ich glaube nicht, dass die Firewall das Problem war.


1

Ich habe das Problem gelöst - ich hatte kein VirtualBox-Erweiterungspaket installiert. Während es in der Linux-Version von VirtualBox hinzugefügt wird, müssen Sie es separat unter Windows installieren.


1
Aber könnten Sie die GUI einer Headless VM öffnen?
Fabricio PH

0

Ich habe die Erfahrung gemacht, dass das RDP von VirtualBox tatsächlich über VNC und nicht über das Microsoft RDP-Protokoll bereitgestellt wird. Ich konnte die VRDE-Funktion mit VNC Viewer (anstelle von Microsoft Remote Desktop) verwenden.

Falls es hilft, hier sind die Befehle, die ich verwendet habe, um den VRDE-Zugriff auf eine VM zu konfigurieren, die auf einem Headless-Server ausgeführt wird (nicht Tastatur, Maus, Monitor angeschlossen).

Suchen Sie die UUID der 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)

Wenn Sie die angehaltene VM starten, können Sie die VNC-Verbindung und die VDRE-Einstellungen (z. B. wenn Sie den Port ändern usw.) schnell testen, ohne die Kosten für das Booten der VM zu verursachen oder sie herunterzufahren, wenn Sie eine andere Einstellung ausprobieren möchten:

vboxheadless --startvm $VM --start-paused

Starten Sie Ihren VNC-Client und versuchen Sie, eine Verbindung herzustellen. Wenn Sie erfolgreich ein großes schwarzes Rechteck anzeigen, können Sie die VM anhalten und den Startvorgang starten:

vboxmanage controlvm $VM resume

(Ich habe -vrdeauthtype externalohne Erfolg gespielt - ich konnte mich nie erfolgreich über VNC authentifizieren.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.