VMware Player: ejecución como servicio

8

¿Es posible ejecutar VMware player como un servicio de Windows para que un usuario no tenga que iniciar sesión para ejecutar el reproductor?

jdiaz
fuente

Respuestas:

14

Vmware Server es la herramienta correcta para ejecutar una VM en segundo plano, no Vmware Player.

Zoredache
fuente
1
(y también es gratis)
Chris_K
2
No es estrictamente cierto. Las personas en toda la red están ejecutando VMWare Player como un servicio.
JamesBarnett
44
@JamesBarnett la gente hace muchas cosas que no son "ideales": dar un paseo y ver cómo se comportan los demás en las carreteras si no me crees. El hecho de que pueda 'forzar' al jugador VMWare para que se ejecute como un servicio no altera el hecho de que el servidor VMWare es la herramienta prevista para ese trabajo.
Rob Moir
1
Tal vez depende del caso de uso. Si desea ejecutar una máquina virtual sin supervisión porque desea un servidor VMWare barato, estoy de acuerdo con usted. Sin embargo, la afirmación "la herramienta correcta para ejecutar una VM en segundo plano" es demasiado amplia. En mi caso, quería ejecutar Linux lado a lado con Windows usando el modo Unity y no tener que preocuparme de ver la interfaz de usuario de VMWare Player. También Windows se encuentra demasiado vinculante con las interfaces gráficas de usuario con procesos en segundo plano. Una parte central del historial de la computadora es poder hackear algo para hacer lo que quieras. La herramienta no está mal, solo necesita saber sus limitaciones.
JamesBarnett
66
el servidor vmware está en desuso y tiene una "versión vm hw baja"
Sirber
5

Perdón por la tardanza en responder con esto. Estaba tratando de resolver esto hoy. Encontré esta respuesta, pensé que se lo haría saber a SF.

En realidad puedes ...

  • Agregue esto a su archivo de configuración VMX para configurar que VMWare Player no muestre la IU:

    msg.noOk = "VERDADERO"

  • Obtenga instsrv.exe de un Kit de recursos de Windows Server para crear su propio servicio

  • Al iniciar, haga que un archivo por lotes llame al servicio que acaba de realizar

Las instrucciones paso a paso se pueden encontrar aquí:

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

JamesBarnett
fuente
último enlace está roto
stimpy77
2

Sé que esta es una vieja pregunta, pero busqué en Internet una solución a esto y no pude encontrar nada tan completo como lo que me gustaría compartir.

Sí, es posible usar vmware player como un servicio para Linux (hay una respuesta separada para Windows); es fácil y no hay razón para pensar en no hacerlo. Es especialmente bueno para alojar un servidor sin cabeza desde un servidor sin cabeza.

La otra opción orientada a VMware, VMware Server, está en desuso y la única otra opción de $ 0 que conozco es VirtualBox. Si te gusta más que VMWare Player, más potencia para ti, pero sé que VMWare Player y no veo una razón para no usar una ruta bien soportada para obtener lo que quiero.

Presumiblemente, querrá que se ejecute en una cuenta no root y se inicie y apague en los tiempos de inicio / apagado del servicio estándar. Si ese es el caso, entonces aquí está cómo configurarlo:

  • Obtenga el paquete daemon (generalmente no está instalado por defecto):

    apt-get install daemon
    
  • Descargue VMware Player y VMware VIX de vmware.com e instálelos para obtener el motor VM y el binario vmrun (control de línea de comandos de ejecución de vm) de VIX.

  • Agregue el servicio al inicio mediante la creación /etc/init.d/<vm_server_name>. Podría verse más o menos así:

    #! /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
    
  • Haga que el script sea ejecutable:

    chmod a+x /etc/init.d/vm_server_name
    
  • Agregue el script a los niveles de ejecución estándar de inicio / apagado del servicio de Linux. Los números aseguran que sea una de las últimas cosas iniciadas y la primera en cerrarse:

    update-rc.d vm_server_name defaults 99 01
    

Notas:

  • Probablemente deba 'sudo' todos los comandos mientras modifica los archivos propiedad de root.
  • Puse un bucle para que al apagar el script no vuelva al sistema operativo hasta que haya suspendido por completo el sistema operativo invitado. No sé si eso es necesario o no, pero me pareció una buena idea. Definitivamente ralentizará el apagado del sistema operativo host, pero en mi opinión vale la pena.
  • Si necesita interactuar con la GUI local del sistema operativo invitado, suspenda el servidor ejecutándolo /etc/init.d/vm_server_name stopy luego inícielo localmente utilizando la GUI del reproductor VMware. Después de terminar, suspenderlo y ejecutar /etc/init.d/vm_server_name startpara iniciar la instancia sin cabeza nuevamente.
David Gladfelter
fuente
Si el reproductor Vmware y la caja virtual son lo único que se le ocurrió en Linux, entonces no está buscando mucho. KVM y Xen son las herramientas preferidas en estos días.
Zoredache
1
Una buena respuesta para los usuarios de Linux, pero la pregunta era específicamente sobre la ejecución de VMWare Player como un servicio de Windows . Quizás debería preguntar y responder una pregunta por separado sobre cómo hacer esto en Linux :-)
voretaq7
Gracias por los consejos a otras soluciones. Intente buscar 'vm as a service' en google y verá lo que vi. Creo que lo que realmente estás diciendo es que crees que los hipervisores son lo nuevo. Creo que hay razones válidas para que los aficionados elijan un host Linux con otros vm como servicios, pero para la escalabilidad estoy seguro de que están en lo correcto.
David Gladfelter
Vaya, no vi la palabra 'Windows' en la pregunta.
David Gladfelter
hmm, pensándolo bien, creo que Windows no se mencionó en la pregunta cuando la respondí. Podría estar equivocado ...
David Gladfelter