Respuestas:
Vmware Server es la herramienta correcta para ejecutar una VM en segundo plano, no Vmware Player.
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
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:
/etc/init.d/vm_server_name stop
y luego inícielo localmente utilizando la GUI del reproductor VMware. Después de terminar, suspenderlo y ejecutar /etc/init.d/vm_server_name start
para iniciar la instancia sin cabeza nuevamente.De SuperUser
Es posible usar este antiguo contenedor gratuito de microsoft (google para explicaciones sobre srvany): ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/srvany_x86.exe
O también hay herramientas comerciales: http://www.coretechnologies.com/products/AlwaysUp/Apps/RunVMwarePlayerAsAService.html