Saya memiliki banyak mesin kotak Virtual di Ubuntu12.04 saya, setiap kali saya mematikan atau mem-boot ulang, saya harus memulainya satu per satu.
Saya ingin bantuan dalam menulis skrip untuk secara otomatis menjalankan ulang mesin VBox saat booting.
boot
scripts
virtualbox
autostart
Maythux
sumber
sumber
Jawaban:
Anda dapat menggunakan layanan Mulai Otomatis VirtualBox. Sebuah tutorial yang bagus yang menjelaskan bagaimana melakukan ini diposting di blog "Life of a Geek Admin" .
Langkah-langkah berikut diadaptasi dari posting blog yang ditautkan:
Pertama, Anda perlu membuat file
/etc/default/virtualbox
dan menambahkan beberapa variabel.VBOXAUTOSTART_DB yang berisi jalur absolut ke direktori basis data autostart dan
VBOXAUTOSTART_CONFIG yang berisi lokasi pengaturan konfigurasi autostart. File akan terlihat mirip dengan ini:
Sekarang kita perlu membuat
/etc/vbox/vbox.cfg
file dan menambahkanCatatan: Jika nama file
vbox.cfg
tidak berfungsi di atas, coba beri namaautostart.cfg
.Jika Anda adalah satu-satunya pengguna Anda bisa menambahkan baris
default_policy = allow
kevbox.cfg
file.Tetapkan izin pada direktori ke grup vboxuser dan pastikan pengguna dapat menulis ke direktori serta bit yang lengket.
Tambahkan setiap pengguna ke
vboxusers
grup.(ganti
USERNAME
dengan nama pengguna)CATATAN : Jika Anda telah mengubah izin grup untuk pengguna saat ini, logout dan kembali lagi untuk menyegarkan izin. (kredit @ kR105)
Setiap pengguna yang ingin mengaktifkan autostart untuk masing-masing mesin harus menyetel path ke direktori database autostart
dan aktifkan autostart untuk VM individu dengan
Ini akan membuat
myuserid.start
file dalam/etc/vbox
direktoriSekarang restart layanan vboxautostart untuk membaca perubahan.
Nyalakan ulang sistem Anda dan VM Anda harus mulai
sumber
Saya memiliki insiden tidak bahagia serupa yang mencoba operasi ini pada vanilla LTS.
Pada versi ini, file kunci /etc/init.d/vboxautostart-service tidak diinstal.
Sejauh yang saya tahu semua VitualBox dan persyaratan dimasukkan oleh apt-get, jadi saya tidak bisa mengatakan mengapa file 'vboxautostart-service' juga tidak disediakan. Tetapi untuk menyelesaikan ini di sini adalah pembaruan saya untuk posting kdmurray.
1) / etc / default / file virtualbox ada untuk saya. Jadi harus menambahkan vars:
2) Harus membuat /etc/vbox/autostart.cfg seperti yang ditunjukkan oleh OP.
6b) Perlu mendapatkan skrip layanan-vboxautostart dan membuatnya dapat dieksekusi.
6c) Peringatkan pengendali rc.d, tetapi saya menggunakan 24 sebagai waktu mulai. Menempatkan hanya 20 dan itu tidak memulai. Mungkin itu berjalan bahkan sebelum virtualbox bekerja.
Kemudian reboot meluncurkan VM dengan benar.
sumber
vboxdrv
di# Required Start
/# Required Stop
baris denganvirtualbox
. Tampaknya mereka mengganti nama layanan, sehingga OS tidak dapat mendeteksi prioritas start / stop dengan benar. Saya pikir Anda tidak perlu langkah 6c jika Anda mengganti garis-garis itu.Anda dapat menggunakan
vboxmanage startvm "my virtual machine" --type=headless|gui|sdl
(salah satunya). Gunakan "tanpa kepala" jika mereka server yang Anda hubungkan dengan cara lain selain menggunakan gui.Untuk benar-benar menjalankan perintah ini pada waktu yang tepat saat boot, Anda ingin membaca di Upstart.
sumber
Setelah berjam-jam yang tidak menyenangkan mencoba untuk mendapatkan prosedur dari kdmurray di atas untuk bekerja, tanpa hasil akhirnya saya menemukan metode yang bekerja sederhana.
Pertama saya host Linux (Mint 17) diatur pada saat boot untuk login secara otomatis ke akun utama saya.
Kedua saya menggunakan fasilitas di VirtualBox GUI (v4.3.12) untuk membuat pintasan untuk setiap Mesin Virtual di desktop. {klik kanan VM di kolom kiri & pilih "Buat Pintasan di Desktop"}
Berikutnya: Saya sudah menemukan bahwa memunculkan Menu-> Control Center -> Startup Applications -> Tambah dan tambahkan pintasan desktop memberi file yang tidak berfungsi, saya melihat dari jawaban lain di halaman ini bahwa lokasi startup adalah / home /USERNAME/.config/autostart, jadi saya melakukan klik kanan pada setiap pintasan VM desktop dan kemudian menempelkannya ke folder itu, menimpa file sampah sebelumnya. Sekarang mereka mengembangkan ikon VirtualBox 'cantik'.
Dan tentu saja saat me-restart komputer host, 3 VM mulai secara otomatis.
:-)
Bill Williams
PS: sayangnya saya masih memiliki sesuatu yang hilang, karena sering Mesin Virtual tidak akan memulai pada boot, sebaliknya mereka menghasilkan kotak dialog kesalahan yang mengatakan mereka dikunci, bahkan jika saya telah memberitahu mereka untuk mematikan sebelum host di-boot kembali.
sumber
Selain deskripsi yang baik tentang layanan vboxautostart di atas, Anda dapat melakukannya
untuk secara otomatis menghentikan tamu di shutdown. Untuk Ubuntu 14.04 saya harus menambahkan sleep 30 ke bagian stop-service vboxautostart, sehingga menunggu hingga tamu disimpan sepenuhnya.
sumber
Saya menemukan cara yang lebih sederhana di bawah Ubuntu 16.04 menjalankan VBox 5.1.34.
Saat berada di VBox, klik kanan pada VM yang berjalan atau idle dalam daftar, pilih 'Buat Pintasan di Desktop ". Setelah Anda melihat ikon di desktop Anda, buka dengan alat apa pun yang memungkinkan Anda melihat perintah yang mendasari VBox dibuat (pada saya sistem, saya klik kanan dan pilih 'properti') Salin ini ke clipboard.
Buka program untuk memperbarui 'aplikasi startup' dan membuat aplikasi baru yang dimulai saat boot, menempelkan perintah yang Anda salin dari tautan desktop yang dibuat oleh VirtualBox.
sumber
Untuk memulai VM saat masuk ke sesi kami, kami mungkin ingin mendefinisikan file .desktop:
Ketika file ini disalin atau dipindahkan ke direktori autostart kami, file itu akan dieksekusi setelah kita masuk:
Menjalankan Kotak Virtual di ruang pengguna dapat membantu untuk menghindari efek samping yang tidak diinginkan dari memulai mereka saat boot (mis. VM berjalan sebagai root, waktu boot meningkat secara luar biasa, ...).
sumber
Ini dapat dilakukan dengan menggunakan Antarmuka Manajemen Baris Perintah VirtualBox. Jalankan skrip berikut saat memulai.
Ada tutorial yang bagus untuk info lebih lanjut.
sumber
Addon ke jawaban @kdmurray.
Jika Anda mendapatkan kesalahan pada:
Untuk mengatasi ini, saya harus secara manual membuat file "nama pengguna". Mulai dan "nama pengguna". Berhenti dengan:
Dan ganti pemilik dengan:
memutarkan lagi:
kemudian mulai kembali layanan:
cek tidak apa-apa dengan:
dan Anda akan melihat proses "VBox ..." dalam daftar, jika mesin virtual sedang berjalan
sumber
Anda juga bisa mendapatkan manajer sesi gnome yang dijelaskan di sini. Gnome Session Manager Ada di pusat perangkat lunak atau Anda bisa langsung ke terminal dan mengetik
sudo apt-get install gnome-session-common
Selanjutnya Anda dapat membuat skrip kecil untuk menjalankan dan menggunakan manajer sesi gnome untuk memulainya. Berikut ini adalah contoh skrip kecil untuk membuat Anda maju ...
sumber
Ini adalah bagaimana saya memulai Centos saya (nama mesin virtual saya) ketika mesin host saya reboot. Saya menggunakan crontab untuk pekerjaan itu. Inilah entri crontab saya:
sumber
Untuk server Ubuntu 16.04.1 LTS saya menyelesaikan ini dengan melakukan:
Pertama-tama aktifkan layanan rc-local.ser
Tambahkan baris berikut ini
/etc/rc.local
Perhatikan bahwa virtual_box_user adalah orang yang dapat melihat mesin virtual (yang ingin Anda mulai) menjalankan perintah:
Contoh:
Yang diubah
/etc/rc.local
akan terlihat seperti iniJika Anda tidak memilih pemilik virtualbox yang tepat, Anda akan melihat kesalahan mengetik perintah:
Saya harap ini bisa membantu
sumber
1 - Buat file:
Tempel ini:
/bin/su validuser -c "/usr/bin/vboxmanage startvm MACHINENAME2--type headless" /bin/sleep 1
2 - Jadikan file vm-start dapat dieksekusi:
3 - Edit rc.local
Tambahkan ini:
4 - Reboot.
sumber