У меня такая проблема.
Я удаленно вхожу в систему на машине с установленным Virtualbox, запустив:
ssh -Y root@virtualbox
После этого запускаю виртуальную машину:
nohup VBoxSDL --startvm vm1
или
nohup VBoxSDL --startvm vm1 &
После этого у меня больше нет подсказки.
Затем, если я выключу свою локальную машину, виртуальная машина перестанет работать (независимо от того, использую ли я & или нет).
Как я могу сохранить его работоспособность после выключения локальной машины?
На хосте виртуального бокса
$ nohup VBoxHeadless --startvm centos5.6 &
или
$ nohup VBOxManage startvm centos5.6 --type headless &
Затем выйдите из системы.
Войдите снова и проверьте, работает ли он еще.
$ VBoxManage list runningvms
"centos5.6" {d46f4510-c95e-4000-b92e-2dc67437174e}
Теперь он должен работать, когда вы не вошли в систему. Скажем, этот виртуальный ящик называется virtualbox.mydomain.com. Затем с удаленной машины
$ ssh yoichi101@virtualbox.mydomain.com
yoichi101@virtualbox.mydomain.com's password:
Last login: Wed Jun 22 19:57:31 2011
Попробуйте: (nohup VBoxSDL --startvm vm1 &) &
Я считаю, что использование скобок должно привести к созданию новой оболочки для выполнения команд внутри них. Затем эта оболочка отсоединяется от вашей с помощью оператора &.
В качестве альтернативы, если вы используете bash в качестве оболочки, попробуйте выполнить команду «disown -h» после команды для запуска виртуальной машины. Это встроенная функция оболочки, которая также должна отсоединять запущенный процесс от вашей текущей оболочки.
Возможно использование экран вместо.