Ответы:
Vmware Server - это правильный инструмент для запуска виртуальной машины в фоновом режиме, а не Vmware Player.
Извините за поздний ответ с этим. Я пытался понять это сегодня. Я наткнулся на этот ответ, решил, что я дал SF знать.
Вы можете на самом деле ...
Добавьте это в свой конфигурационный файл VMX, чтобы в VMWare Player не отображался пользовательский интерфейс:
msg.noOk = "ИСТИНА"
Загрузите instsrv.exe из Windows Server Resource Kit для создания собственной службы.
При запуске есть пакетный файл, позвоните в службу, которую вы только что сделали
Пошаговые инструкции можно найти здесь:
http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm
Я знаю, что это старый вопрос, но я искал во всем Интернете решение этого вопроса, и я не мог найти ничего более всеобъемлющего, чем то, чем я хотел бы поделиться.
Да, в качестве службы для Linux можно использовать vmware player (для Windows есть отдельный ответ); это легко, и я не могу думать о том, чтобы этого не делать. Это особенно хорошо для размещения безголового сервера с безголового сервера.
Другой VMware-ориентированный выбор, VMware Server, устарел, и единственный другой вариант с ценой $ 0, о котором я знаю, это VirtualBox. Если вам нравится это лучше, чем VMWare Player, вам больше мощности, но я знаю VMWare Player и не вижу причин не использовать хорошо поддерживаемый путь, чтобы получить то, что я хочу.
Предположительно, вы захотите, чтобы он работал под учетной записью без полномочий root, запускался и выключался при стандартном времени запуска / завершения работы службы. Если это так, то вот как это настроить:
Получить пакет демона (обычно не устанавливается по умолчанию):
apt-get install daemon
Загрузите VMware Player и VMware VIX с веб-сайта vmware.com и установите их, чтобы получить ядро виртуальной машины и двоичный файл vmrun (контроль выполнения vm в командной строке).
Добавьте сервис в автозагрузку, создав /etc/init.d/<vm_server_name>
. Это может выглядеть примерно так:
#! /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
Сделайте скрипт работоспособным:
chmod a+x /etc/init.d/vm_server_name
Добавьте сценарий к стандартным уровням запуска / завершения службы linux. Числа гарантируют, что это одна из последних вещей, начатых и первая, которая будет закрыта:
update-rc.d vm_server_name defaults 99 01
Ноты:
/etc/init.d/vm_server_name stop
а затем запустите его локально с помощью графического интерфейса проигрывателя VMware. После окончания приостановите его и запустите, /etc/init.d/vm_server_name start
чтобы снова запустить экземпляр без головы.От SuperUser
Это можно использовать с помощью этой очень старой бесплатной оболочки Microsoft (объяснения о srvany в Google): ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/srvany_x86.exe
Или есть и коммерческие инструменты: http://www.coretechnologies.com/products/AlwaysUp/Apps/RunVMwarePlayerAsAService.html