Можно ли запустить проигрыватель VMware как службу Windows, чтобы пользователю не приходилось входить в систему для запуска проигрывателя?
Сервер Vmware - правильный инструмент для работы виртуальной машины в фоновом режиме, а не Vmware Player.
Приносим извинения за поздний ответ. Я пытался понять это сегодня. Я наткнулся на этот ответ и решил, что сообщу SF.
Вы действительно можете ...
Добавьте это в свой файл конфигурации VMX, чтобы VMWare Player не отображал пользовательский интерфейс:
msg.noOk = "ИСТИНА"
Получить instsrv.exe из Комплект ресурсов Windows Server создать свой сервис
При запуске используйте пакетный файл для вызова только что созданной службы
Пошаговые инструкции можно найти здесь:
http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm
Я знаю, что это старый вопрос, но я искал по всему Интернету решение этой проблемы и не смог найти ничего более всеобъемлющего, чем то, чем я хотел бы поделиться.
Да, vmware player можно использовать как службу для Linux (для Windows есть отдельный ответ); это легко, и у меня нет никаких причин не делать этого. Это особенно удобно для размещения безголового сервера с безголового сервера.
Другой вариант, ориентированный на VMware, VMware Server, устарел, и единственный известный мне вариант с нулевой стоимостью - VirtualBox. Если вам это нравится больше, чем VMWare Player, больше возможностей для вас, но я знаю VMWare Player и не вижу причин не использовать хорошо поддерживаемый путь для получения того, что я хочу.
Предположительно, вы захотите, чтобы он запускался под учетной записью без полномочий root и запускался и завершался в стандартное время запуска / завершения службы. Если это так, то вот как это настроить:
Получите пакет демона (обычно не устанавливается по умолчанию):
apt-get install daemon
Загрузите VMware Player и VMware VIX с сайта vmware.com и установите их, чтобы получить движок виртуальной машины и двоичный файл vmrun (управление выполнением виртуальной машины из командной строки) VIX.
Добавьте сервис в стартап, создав /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 player. После завершения приостановите его и запустите /etc/init.d/vm_server_name start
чтобы снова запустить безголовый экземпляр.Можно использовать эту очень старую бесплатную оболочку 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