Sepertinya saya tidak bisa menjalankan VM saya saat startup.
Saya mencoba "aplikasi startup" dan memperbarui-rc.d tanpa hasil.
sudo update-rc.d startvms defaults 99 10
Ini menciptakan semua tautan simbolik yang sesuai untuk level run yang berbeda tetapi VM masih belum mulai.
Inilah skrip startvms saya:
#!/bin/bash
### BEGIN INIT INFO
# Provides: startvms
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start my VMs at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
case "$1" in
start)
echo "Starting"
nohup VBoxHeadless --startvm "UbuntuServer" &
;;
stop)
echo "Stopping $DESC"
VBoxManage controlvm "UbuntuServer" poweroff
;;
restart|force-reload)
echo "Restarting $DESC"
VBoxManage controlvm "UbuntuServer" poweroff
nohup VBoxHeadless --startvm "UbuntuServer" &
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
Apa yang saya lakukan salah?
virtualbox
startup
capdragon
sumber
sumber
VBoxManage startvm --type headless "UbuntuServer"
alih-alihVBoxHeadless
perintah?su -c 'VBoxHeadless --startvm <MACHINE>'
.Jawaban:
INI adalah apa yang akhirnya bekerja!
1) Buat file skrip startup
di /etc/init.d -
sudo nano /etc/init.d/StartVM
.Salin Tempel berikut ini di file dan ganti "My VM Name" untuk nama vm Anda:
2) Berikan skrip izin yang dapat dieksekusi
dengan
sudo chmod +x /etc/init.d/StartVM
.3) Beri tahu skrip untuk dijalankan saat startup.
beritahu skrip menjadi yang pertama untuk shutdown dan yang terakhir ke startup.
sudo update-rc.d StartVM defaults 99 01
sumber
VBoxManage startvm --type headless
akan lebih baik?FYI, Ini berfungsi pada Opensuse tanpa nohup.
sumber
Ini berfungsi baik dengan server Ubuntu 12.04 dan VirtualBox 4.2.20.
Dan
dan
seperti yang ditunjukkan pada jawaban sebelumnya.
sumber
Karena Anda menyebutkan bahwa VBoxHeadless berfungsi dengan baik jika Anda mengetiknya dari baris perintah terminal tetapi tidak memulai VM apa pun ketika diluncurkan dari skrip init, tebakan saya adalah bahwa ia sedang mencari beberapa variabel lingkungan yang ditentukan ketika Anda menjalankan shell di terminal Anda tetapi tidak terdefinisi di lingkungan skrip init (yang pada dasarnya kosong, kecuali untuk parameter yang diberikan pada baris perintah kernel).
Bisakah Anda mencoba mengganti doa VBoxHeadless dalam skrip dengan ini?
Di sini "nama pengguna" dan jalur direktori home harus diubah agar sesuai dengan pengguna yang Anda gunakan untuk memulai VM.
Jika berhasil, Anda mungkin ingin menggunakan su-l untuk menjalankan VBoxHeadless alih-alih hack env ini .
sumber
su -l
- itu poin bagus!Pada versi terbaru dari Virtualbox (4.2.0 dan seterusnya) Anda tidak perlu menggulung skrip Anda sendiri untuk melakukan autostart pada VM, tetapi itu memang membutuhkan konfigurasi. Lihat bagian 9.24 dari Manual Virtualbox " Memulai mesin virtual saat boot sistem "
Sayangnya manual ini hanya memberikan instruksi garis besar dan belum diperbarui dalam usia. Saya menemukan posting ini di forum virtualbox dengan beberapa detail tambahan.
Anda bisa meletakkan baris di rc.local untuk memulai server Anda tetapi jika Anda ingin melakukannya dengan cara "resmi" baca terus ..
Tambahkan baris ini ke / etc / default / virtualbox:
Edit /etc/vbox/vboxautostart.cfg (contoh ini menolak izin autostart untuk semua pengguna kecuali pengguna "Bob":
Tambahkan grup vboxusers ke / etc / vbox dan sticky bit:
Tambahkan semua pengguna yang akan menggunakan virtualbox ke grup "vboxusers", misalnya:
Setiap pengguna yang ingin mengaktifkan autostart untuk masing-masing mesin harus menyetel path ke direktori database autostart dengan:
Pengguna kemudian dapat mengatur VMs untuk autostart dan mengonfigurasi bagaimana mereka akan berhenti (mis. Savestate, acpishutdown) dengan:
Di atas bekerja untuk saya dengan Virtualbox 5, diinstal dari repositori virtualbox.org.
sumber
kita mungkin juga ingin mengatur port secara langsung ketika menggunakan vrdp .. mengomentari jawaban teratas, yang mengelompokkan dengan baik untuk menggunakan skrip yang berbeda untuk vms yang berbeda
sumber
Wow .. Saya melihat semua solusi ini, yang tampaknya agak rumit, tapi ini laptop ketiga saya yang akhirnya saya tulis:
VBoxHeadless -s "Ubuntu Server"
di file rc.local saya di direktori / etc / dan itu bekerja cukup baik. Menjalankan mesin virtual secara otomatis saat reboot.
sumber