Jalankan VirtualBox di latar belakang, tanpa jendela?


106

Saya bertanya-tanya apakah mungkin untuk menjalankan mesin virtual Ubuntu menggunakan VirtualBox di latar belakang, maksud saya, tanpa jendela yang terbuka.

Idenya adalah untuk terhubung melalui SSH ke host Linux, yang akan berjalan di latar belakang.

Adakah yang pernah melakukan hal seperti ini? Apa itu mungkin?


Maksud Anda terhubung melalui SSH ke tamu linux ? Anda dapat melakukan ini dengan sangat mudah dengan QEMU yang sebenarnya akan menjalankan tamu di terminal Anda.
Felix

Jadi, Anda juga mungkin tertarik dengan konfigurasi SSH: superuser.com/questions/424083/virtualbox-host-ssh-to-guest
Fabricio PH


1
Membiarkan terbuka karena pertanyaan ini diperlakukan lebih baik seperti aslinya; memilih untuk menutup sebagai duplikat pada pertanyaan lain.
bwDraco

Sepenuhnya setuju dengan @DragonLord - klik di sini untuk pergi ke pertanyaan lain dan tutup sebagai pembohong untuk pertanyaan ini.
Raystafarian

Jawaban:


92

VBoxManage startvm $VM --type headless akan memulai mesin virtual yang ditentukan di latar belakang.

Untuk mematikannya, minta dimatikan dari tamu.


Anda hanya akan dapat SSH ke dalam mesin jika Anda telah mengatur jaringan dengan benar. Saya pikir Anda perlu menggunakan bridged sehingga VM dan mesin Anda berada di jaringan yang sama. Juga, VirtualBox masih akan menjalankan gui dari OS target dan Anda dapat menghubungkannya melalui remote desktop, "rdesktop" (dapatkan dari apt karena Anda berada di ubuntu)
basszero

1
Benar. Saya berasumsi bahwa VM dijalankan biasanya melalui GUI VirtualBox terlebih dahulu untuk menginstal dan mengkonfigurasi. Hanya gunakan VBoxManage setelah semuanya (termasuk jaringan) berfungsi.
developmentalinsanity

Dengan perangkat lunak VM lain, saya bisa menutup jendela sehingga tidak selalu terbuka dan terus berjalan di latar belakang, tetapi buka jendela ketika saya ingin berinteraksi dengannya. Apakah ini yang dilakukannya?
JFA

Pastikan untuk ssh ke mesin tanpa -X atau -Y karena tampaknya membuat perintah di atas melampirkan proses ke shell, jadi jika Anda keluar, VM dibatalkan.
moritz


23

Benar! Anda mencari instalasi tanpa kepala (Virtualbox). Cara memulai mesin dari baris perintah adalah sesuatu seperti:

VBoxHeadless --startvm Debian --vrdp=off

Namun Anda perlu beberapa cara untuk terhubung. Apa yang saya lakukan adalah memetakan port antara guest dan host. Dengan konfigurasi ini, port host 2222 Anda akan dipetakan ke port 22 mesin tamu Anda.

VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP  
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22  
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222  

Setelah itu Anda bisa masuk dengan:

ssh localhost -p2222

vm harus mendengarkan koneksi ssh, kan? Mungkin layak untuk membuat ini eksplisit.
Matheus Santana

3

alternatif VBoxManage startvm "{VMName}" --type headlessadalah
VBoxHeadless -startvm "{VMName}"

Cukup mengherankan, saya baru saja selesai mencari tahu cara menjalankan VM tanpa kepala, melalui RDP.

Catatan - Setidaknya di windows, itu akan memblokir jendela perintah Anda. Jika Anda perlu terus menggunakan jendela konsol Anda, buka yang lain untuk memulai VM in.

Untuk mematikan VM, Anda meminta OS Tamu untuk dimatikan. VBoxHeadlessrilis konsol ketika Tamu sepenuhnya dimatikan (Anda bisa Ctrl+C, tapi saya pikir itu mungkin analog dengan hard reset pada mesin nyata).


Fakta bahwa vboxheadless memblokir konsol sangat mengalahkan tujuan mode tanpa kepala. Di Mac OS X (dan mungkin di Linux dan Solaris) mode headless bekerja ketika Anda mengirim vboxheadless ke latar belakang menggunakan &.
Andrew J. Brehm

Saya membayangkan ada cara untuk melakukan itu di windows, saya belum menemukannya. Bagaimanapun, vm tanpa kepala tentu saja menggunakan lebih sedikit sumber daya di komputer server daripada yang menjalankan GUI penuh.
Nama Palsu


2

Saya tidak berpikir mode mulus adalah apa yang dia cari di sini, saya pikir hal yang tepat adalah VBoxHeadless yang detailnya bisa Anda temukan di manual. Ini berjalan menggunakan antarmuka command-lin dan akan digunakan, misalnya, jika mesin virtual berjalan di server tetapi tampilan tidak diinginkan dari server. Anda akan dapat melakukan remote desktop ke mesin (asalkan Anda tahu cara mengatur opsi melalui baris perintah).

Saya akan merekomendasikan menanyakan hal ini di forum virtualbox. Sebenarnya, lakukan pencarian dulu seperti yang saya harapkan ini sudah ditanyakan.


VBoxManage adalah hal yang benar, maaf. Tautkan info tersebut di manual http://www.virtualbox.org/manual/ch08.html


2

Untuk memulai dalam mode tanpa kepala menggunakan GUI:

Tahan tombol Shift saat memulai VM.

Setelah itu Anda juga akan dapat terhubung dan memutuskan sambungan dari GUI (Menggunakan Show and Machine -> Lepaskan opsi GUI ).


1

Saya menemukan bahwa mode tanpa kepala tampaknya berfungsi dengan baik ketika latar belakang di Linux (CentOS 5.6), tetapi Anda kehilangan akses ke fungsionalitas RDP selama prosesnya dilatar belakangi. Lakukan 'fg' untuk membawa proses kembali ke latar depan, dan fungsi RDP dipulihkan. Sepertinya memulai vm headless paling baik dilakukan melalui skrip init, di mana interaktivitas dengan konsol tidak diperlukan.


1

Anda dapat menggunakan VBoxHeadless atau (dan saya heran mengapa tidak ada yang menyebutkan ini sebelum saya), Anda cukup memilih salah satu opsi start-up, yang akan menjalankan VM tanpa GUI.

Tahan shift dan mulai mesin, atau klik kanan mesin dan cari sesuatu seperti "Jalankan tanpa output" di bawah item "Jalankan"


0

Saya telah menambahkan baris-baris ini ke .bashrc saya:

VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'

Untuk akses ssh Anda tidak perlu mengubah konfigurasi cukup simpan NAT dan Anda dapat mengatur tabel port forwarding sebagai berikut:

Name      | Protocol | Host Port | Guest Port
guestssh  | TCP      | 2222      | 22
localhost | TCP      | 8080      | 80

Ketika Anda memasukkan localhost: 8080 ke browser mesin Anda, halaman dari VM (pada port 80) akan dibuka.


0

Jika VM berjalan dan layar ditampilkan, Anda dapat menyembunyikannya dengan melakukan langkah-langkah berikut.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.