
내 목표는 호스트 컴퓨터(Ubuntu 10.04)를 시작하고 중지할 때 Ubuntu가 헤드리스 virtualbox VM을 정상적으로 시작하고 중지하도록 하는 것입니다.
나는스크립트에 의해 제공Quadir Kareemullah의 페이지.
이것은 스크립트의 LSB 주석 헤더입니다(종속성을 줄이기 위해 "Required-Start"에서 vboxnet을 제거했습니다).
### 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
Quadir의 설명에 따라 /etc/init.d/에서 'vboxsvc'를 찾아 실행했습니다.
$sudo update-rc.d vboxsvc
이로써 런레벨에 대한 링크가 생성되었습니다. 예를 들어 런레벨 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
...
서비스를 수동으로 시작|중지하는 경우:
$sudo /etc/init.d/vboxsvx start
예상대로 작동합니다.
"service --status-all"을 수행하면 서비스가 나열되지 않지만 sysv-rc-conf --list를 사용하면 표시됩니다.
컴퓨터를 부팅할 때 자동으로 시작되지 않습니다. 반면에 재부팅하거나 종료하면 서비스가 자동으로 중지됩니다. 어떤 이유로 시스템이 부팅될 때 /etc/rc2.d/S21vboxnet 링크가 실행되지 않거나 다른 일이 발생합니다.
현재 Ubuntu에서는 Upstart가 작업을 수행하는 방법이라는 것을 알고 있지만 SysV init는 여전히 지원됩니다. 그렇죠?
편집하다:문제 해결에 가까워진 것 같아요. 내 생각에 해결책은 내 홈 파일 시스템을 암호화하는 것과 관련이 있다고 생각합니다. init 프로세스가 해당 시작 스크립트를 실행하고 "sudo -H -u myuser VBoxManage myVirtualMachine -type vrdp > /dev/null"을 실행하려고 하면 myVirtualMachine의 데이터(암호화된 파일 시스템에 있음)에 액세스할 수 없습니다. 왜냐하면 아직 myuser로 로그인하지 않았기 때문에 홈 파일 시스템이 마운트되지 않았기 때문입니다.
답변1
내 집 파티션이 암호화되어 전체 문제가 발생했다고 생각했습니다.
나는 이것을 따라 갔다.질문암호화를 제거합니다.
내 조언은 당신이 무엇을 하고 있는지 알지 못한다면 우분투 설치 시 홈 파티션을 암호화하지 말라는 것입니다. 그렇게 하면 로그인하지 않으면 홈 디렉토리 아래의 모든 항목이 다른 사용자(루트 포함)에게 잠기게 된다는 점에 유의하십시오.
답변2
홈 폴더의 암호화를 해제하는 것보다 새로운 시스템 사용자가 VirtualBox를 실행하도록 만드는 것이 더 낫지 않습니까?
이렇게 하면 여전히 보호를 받을 수 있고 VM이 문제 없이 시작될 수 있습니다.