Запускаю VirtualBox как сервис. Создал в init.d скрипт
#! /sbin/runscript
DESC="W2K3SRV virtual machine"
NAME=vbox-w2k
SCRIPTNAME=/etc/init.d/$NAME
MANAGE_CMD=VBoxManage
VM_OWNER=vmowner
VM_NAME="w2k"
# Display "State" field from showinfo action
#
#status()
#{
# sudo -H -u $VM_OWNER $MANAGE_CMD --nologo showvminfo "$VM_NAME"|grep "^State:\s*.*$"
#}
start()
{
ebegin "Starting $DESC" "$NAME"
sudo -H -u $VM_OWNER $MANAGE_CMD --nologo startvm "$VM_NAME" -type vrdp >/dev/null
eend $?
}
stop()
{
ebegin "Stopping $DESC" "$NAME"
sudo -H -u $VM_OWNER $MANAGE_CMD --nologo controlvm "$VM_NAME" poweroff >/dev/null
eend $?
}
Отрабатывает и виртуальная машина стартует.
Но не нравится мне скрипт :(. Нет проверки при старте, что машина не запущена (например напрямую в GUI).
Не хватает тяму сделать скрипт универсальным.
Раньше все делалось внутри скрипта, а сейчас скрипт только часть сценария запуска-остановки сервиса.
Как его докрутить в свете действующей “идеологии”?