Meu objetivo é fazer com que o Ubuntu inicie e pare uma VM virtualmente sem cabeçalho quando eu iniciar e parar minha máquina host (Ubuntu 10.04).
Estou usando um script fornecido por Página do Quadir Kareemullah .
Este é o cabeçalho de comentário do LSB do script (eliminei o vboxnet de "Required-Start" para reduzir as dependências):
### BEGIN INIT INFO
# Provides: vboxsvc
# Required-Start: $local_fs $remote_fs vboxdrv
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: VirtualBox Service
# Description: VirtualBox Service to startup and shutdown Virtual Machines
### END INIT INFO
Como explicado por Quadir, localizei o 'vboxsvc' em /etc/init.d/ e executei:
$sudo update-rc.d vboxsvc
Isso criou os links para os runlevels. Por exemplo, no nível de execução 2:
$ls -l /etc/rc2.d/
...
lrwxrwxrwx 1 root root 17 2010-11-03 20:02 S20vboxdrv -> ../init.d/vboxdrv
lrwxrwxrwx 1 root root 25 2010-11-03 20:03 S20vboxweb-service -> ../init.d/vboxweb-service
lrwxrwxrwx 1 root root 17 2010-11-11 21:43 S21vboxsvc -> ../init.d/vboxsvc
...
Se eu começar | interrompa o serviço manualmente:
$sudo /etc/init.d/vboxsvx start
funciona como esperado.
O serviço não aparece listado se eu fizer "service --status-all", mas aparece quando eu uso sysv-rc-conf --list.
Não é iniciado automaticamente quando eu inicializo o computador. Por outro lado, o serviço pára automaticamente quando eu reinicio ou encerro. Por alguma razão, quando o sistema inicializa o link /etc/rc2.d/S21vboxnet não está sendo executado ou algo mais está acontecendo.
Eu sei que o Upstart é a maneira de fazer as coisas agora no Ubuntu, mas o init do SysV ainda é suportado, certo?
EDIT: Acho que estou perto de resolver o problema. Eu acho que a solução tem a ver com o meu sistema de arquivos em casa criptografado. Quando o processo init está executando os scripts de inicialização correspondentes e tenta executar "sudo -H -u myuser VBoxManage minhaVirtualMachine -tipo vrdp > / dev / null" ele não tem acesso aos dados da myVirtualMachine (que está em um sistema de arquivos criptografados) ) porque ainda não me conectei como myuser e, portanto, meu sistema de arquivos inicial não foi montado.