VMware Player - Wird als Dienst ausgeführt


8

Ist es möglich, VMware Player als Windows-Dienst auszuführen, sodass ein Benutzer nicht angemeldet sein muss, damit der Player ausgeführt wird?

Antworten:


14

VMware Server ist das richtige Tool zum Ausführen einer VM im Hintergrund, nicht VMware Player.


1
(und ist auch kostenlos)
Chris_K

2
Nicht unbedingt wahr. Überall im Internet wird VMWare Player als Dienst ausgeführt.
JamesBarnett

4
@ JamesBarnett-Leute machen viele Dinge, die nicht "ideal" sind - machen Sie eine Fahrt und beobachten Sie, wie sich andere auf den Straßen verhalten, wenn Sie mir nicht glauben. Die Tatsache, dass Sie VMWare-Player daran hindern können, als Dienst ausgeführt zu werden, ändert nichts an der Tatsache, dass der VMWare-Server das beabsichtigte Tool für diesen Job ist.
Rob Moir

1
Kommt vielleicht auf den Anwendungsfall an. Wenn Sie eine VM unbeaufsichtigt ausführen möchten, weil Sie einen billigen VMWare-Server wünschen, stimme ich Ihnen zu. Die Aussage "das richtige Tool zum Ausführen einer VM im Hintergrund" ist jedoch zu weit gefasst. In meinem Fall wollte ich Linux Seite an Seite mit Windows im Unity-Modus ausführen und musste mich nicht um die Anzeige der VMWare Player-Benutzeroberfläche kümmern. Auch Windows ist zu eng mit GUIs verbunden, die eng mit Hintergrundprozessen verbunden sind. Ein zentraler Teil der Computergeschichte besteht darin, etwas zu hacken, um das zu tun, was Sie wollen. Das Tool ist nicht falsch, Sie müssen nur die Einschränkungen kennen.
JamesBarnett

6
vmware server ist veraltet und hat eine niedrige "vm hw version"
Sirber

5

Entschuldigung für die späte Antwort. Ich habe heute versucht, das herauszufinden. Ich bin auf diese Antwort gestoßen und dachte, ich würde SF Bescheid geben.

Sie können tatsächlich ...

  • Fügen Sie dies Ihrer VMX-Konfigurationsdatei hinzu, um festzulegen, dass VMWare Player die Benutzeroberfläche nicht anzeigt:

    msg.noOk = "TRUE"

  • Rufen Sie instsrv.exe aus einem Windows Server Resource Kit ab , um Ihren eigenen Dienst zu erstellen

  • Lassen Sie beim Start eine Batch-Datei den Dienst aufrufen, den Sie gerade erstellt haben

Eine Schritt-für-Schritt-Anleitung finden Sie hier:

http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm


letzter Link ist kaputt
stimulpy77

2

Ich weiß, dass dies eine alte Frage ist, aber ich habe im ganzen Internet nach einer Lösung dafür gesucht und konnte nichts finden, das so umfassend ist wie das, was ich teilen möchte.

Ja, es ist möglich, VMware Player als Dienst für Linux zu verwenden (für Windows gibt es eine separate Antwort). Es ist einfach und es gibt keinen Grund, warum ich mir vorstellen kann, es nicht zu tun. Es eignet sich besonders zum Hosten eines Headless-Servers von einem Headless-Server.

Die andere VMware-orientierte Option, VMware Server, ist veraltet und die einzige andere mir bekannte 0-Dollar-Option ist VirtualBox. Wenn Ihnen das besser gefällt als VMWare Player, haben Sie mehr Leistung, aber ich kenne VMWare Player und sehe keinen Grund, keinen gut unterstützten Pfad zu verwenden, um das zu bekommen, was ich will.

Vermutlich möchten Sie, dass es unter einem Nicht-Root-Konto ausgeführt wird und zu den Standard-Start- / Herunterfahrzeiten des Dienstes gestartet und heruntergefahren wird. Wenn dies der Fall ist, können Sie dies folgendermaßen konfigurieren:

  • Holen Sie sich das Daemon-Paket (normalerweise nicht standardmäßig installiert):

    apt-get install daemon
    
  • Laden Sie VMware Player und VMware VIX von vmware.com herunter und installieren Sie sie, um die VM-Engine und die vmrun-Binärdatei (Befehlszeilensteuerung der VM-Ausführung) von VIX abzurufen.

  • Fügen Sie den Dienst durch Erstellen zum Start hinzu /etc/init.d/<vm_server_name>. Es könnte ungefähr so ​​aussehen:

    #! /bin/bash
    ### BEGIN INIT INFO
    # Provides:          vm_server_name
    # Required-Start:    $named $remote_fs $syslog
    # Required-Stop:     $named $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: My Server VM
    # Description:       Virtual Machine instance of My Server
    ### END INIT INFO
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    VM="/path/to/vmx_file.vmx"
    USER_TO_RUN_UNDER="username"
    
    if [[ "$USER" == "$USER_TO_RUN_UNDER" ]]; then
      USER_FLAG=""
    else
      USER_FLAG="--user=$USER_TO_RUN_UNDER"
    fi
    
    case "$1" in
        start)
            daemon $USER_FLAG -- vmrun -T player start "$VM" nogui &>/dev/null &
            ;;
        stop)
            vmrun -T player suspend "$VM" &>/dev/null
            while [[ "$(vmrun -T player list | grep -o "$VM")" == "$VM" ]]; do
              sleep 1
            done
            ;;
        *)
            echo "Usage: $0 start|stop" >&2
            exit 3
            ;;
    esac
    
  • Machen Sie das Skript ausführbar:

    chmod a+x /etc/init.d/vm_server_name
    
  • Fügen Sie das Skript zu den Standard-Runlevels für das Starten / Herunterfahren von Linux-Diensten hinzu. Die Zahlen stellen sicher, dass es eines der letzten Dinge ist, die gestartet und das erste, das heruntergefahren wird:

    update-rc.d vm_server_name defaults 99 01
    

Anmerkungen:

  • Sie müssen wahrscheinlich alle Befehle "sudo", wenn Sie Root-Dateien ändern.
  • Ich habe eine Schleife eingefügt, damit das Skript beim Herunterfahren erst dann zum Betriebssystem zurückkehrt, wenn das Gastbetriebssystem vollständig angehalten wurde. Ich weiß nicht, ob das nötig ist oder nicht, aber es schien eine gute Idee zu sein. Es wird definitiv das Herunterfahren des Host-Betriebssystems verlangsamen, aber es lohnt sich meiner Meinung nach.
  • Wenn Sie mit der lokalen GUI des Gastbetriebssystems interagieren müssen, halten Sie den Server durch Ausführen an /etc/init.d/vm_server_name stopund starten Sie ihn lokal über die VMware Player-GUI. Unterbrechen Sie es nach Abschluss und führen Sie es aus /etc/init.d/vm_server_name start, um die kopflose Instanz erneut zu starten.

Wenn Vmware Player und Virtual Box das einzige sind, was Sie unter Linux entwickelt haben, suchen Sie nicht sehr intensiv. KVM und Xen sind heutzutage die bevorzugten Tools.
Zoredache

1
Eine gute Antwort für Linux-Benutzer, aber die Frage lautete speziell, ob VMWare Player als Windows-Dienst ausgeführt werden soll. Vielleicht sollten Sie eine separate Frage dazu unter Linux stellen und beantworten :-)
voretaq7

Vielen Dank für die Hinweise auf andere Lösungen. Wenn Sie in Google nach "vm as a service" suchen, werden Sie sehen, was ich gesehen habe. Ich denke, was Sie wirklich sagen, ist, dass Sie glauben, dass Hypervisoren die neue Schärfe sind. Ich denke, es gibt triftige Gründe für Hobbyisten, einen Linux-Host mit anderen VMs als Dienste zu wählen, aber aus Gründen der Skalierbarkeit bin ich sicher, dass Sie richtig liegen.
David Gladfelter

Hoppla, ich habe das Wort "Windows" in der Frage nicht gesehen.
David Gladfelter

hmm, beim zweiten Gedanken denke ich, dass Fenster in der Frage nicht erwähnt wurden, als ich sie beantwortete. Könnte falsch sein ...
David Gladfelter

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.