Cara memulai dan menghentikan tamu VirtualBox melalui baris perintah

11

Saya punya VirtualBox di Ubuntu 16.04 sebagai tuan rumah dan tamu juga. Saya harus mengelola tamu (mulai, berhenti saja) melalui baris perintah SSH, tetapi tidak menemukan solusi yang berfungsi.

codolom
sumber
Itu lebih mudah, daripada yang saya kira. Maaf untuk OFF. Ada beberapa alat baris perintah untuk kvm. Salah satunya adalah "virsh". Untuk memulai | hentikan vm cukup gunakan: $ virsh start | shutdown <vmname> (Anda dapat mendaftar dengan $ virsh list --all). Misalnya, Anda dapat menggunakan alat ini dalam skrip bash atau crontab. Terima kasih atas bantuannya lagi.
codolom

Jawaban:

19

Ini semua dapat diselesaikan dengan menggunakan VBoxManage setelah Anda membuat koneksi ssh:

1. Daftarkan VMS Anda:

Pertama daftar Mesin Virtual yang tersedia dengan perintah VBoxManage list vms, saya ilustrasikan ini pada pengaturan saya sendiri:

andrew@ilium~$ VBoxManage list vms
"Windows 8" {c4422acd-727b-45a0-9eef-65636bcde44d}
"Windows 10" {a8e262be-a032-4918-9085-63185318a979}
"Trusty Tahr Clean Copy" {c99bcf4b-9fea-4971-b190-425cb0b0cdeb}
"Xenial Xerus Clean Copy" {850122b9-c65f-425b-abb3-ffda68e159c6}
"Precise Pangolin Clean Copy" {169086e6-a3f4-42e7-8a89-63dcb273143f}
"Precise Pangolin Working Copy" {ff8312b6-cfae-4877-aa93-d71036d8882c}
"Xenial Xerus for MPlayer" {44902710-4368-4c06-9d24-3cb55328d31c}
"Xenial Xerus for vlc" {a62ad306-17d9-4ee3-8c1a-e4439c3b0e05}
"Xenial Xerus mingw64" {584d8513-6a16-49c7-b020-d657b93d5552}
"Trusty Tahr Working copy..." {433349e9-52eb-4066-bae7-623592871839}
"Xenial Xerus Working copy..." {dda23e74-cdb5-4c7d-8836-31be4129c02a}
andrew@ilium~$ 

Catatan: Jika Anda tidak yakin VM mana yang benar-benar berjalan, Anda bisa menggunakan VBoxManage list runningvms...

2. Mulai VM:

The VBoxManageperintah dan pilihan yang Anda setelah untuk memulai Virtual Machine adalah:

  startvm                   <uuid|vmname>...
                            [--type gui|sdl|headless|separate]

Jadi untuk memulai VM "Trusty Tahr Clean Copy" dalam contoh saya, Anda akan menggunakan:

VBoxManage startvm "Trusty Tahr Clean Copy" --type gui

3. Hentikan VM:

Untuk menghentikan VM Anda akan menggunakan lagi VBoxManagetapi kali ini dengan controlvmopsi:

  controlvm                 <uuid|vmname>
                            pause|resume|reset|poweroff|savestate|

Dan dalam contoh saya untuk menutup "Trusty Tahr Clean Copy" VM perintahnya adalah:

VBoxManage controlvm "Trusty Tahr Clean Copy" savestate

Ini semua harus bekerja dengan baik di atas ssh, yang membutuhkan gui :)

andrew.46
sumber
Saya sudah mencoba perintah ini sebelum bertanya. Daftar VBoxManage vms | runningvms | apa pun - hasil kosong Tidak mungkin. VMS dibuat di frontend grafis dan sedang berjalan. Inilah saatnya, ketika saya meminta bantuan.
codolom
@codolom Hmmm .... harus koneksi ssh kalau begitu. Apakah Anda terhubung ke komputer host Anda dari komputer lain melalui ssh? Saya kira Anda menggunakan perintah ssh ...
andrew.46
@codolom t penasaran, saya menguji informasi dalam jawaban saya sistem saya sendiri melalui ssh dan itu bekerja dengan sempurna. Apakah `VBoxManage list vms` memberikan kesalahan?
andrew.46
Saya tidak tahu itu seharusnya menjadi masalah. Saya sudah mencoba untuk memperbaikinya dengan cara ini: stackoverflow.com/questions/5906441/... Saya benci kotak teks ini dengan Ctrl + Enter :( - Maaf untuk garis yang hilang. Saya menerapkan perintah ini pada konsol, tetapi hasil yang sama.
codolom
Tidak ada kesalahan Output kosong.
codolom
2

Untuk penggunaan shutdown yang anggun:

VBoxManage controlvm "Name" acpipowerbutton
Nick
sumber