Cách bắt đầu và dừng khách VirtualBox thông qua dòng lệnh


11

Tôi đã có VirtualBox trên Ubuntu 16.04 với tư cách là chủ và khách. Tôi phải quản lý khách (bắt đầu, chỉ dừng lại) thông qua dòng lệnh SSH, nhưng không tìm thấy bất kỳ giải pháp làm việc nào.



Nó dễ hơn tôi nghĩ. Xin lỗi vì TẮT. Có một số công cụ dòng lệnh cho kvm. Một trong số đó là "virsh". Để bắt đầu | dừng vm, chỉ cần sử dụng: $ virsh start | shutdown <vmname> (bạn có thể liệt kê theo danh sách $ virsh --all). Bạn có thể sử dụng công cụ này trong bash script hoặc crontab chẳng hạn. Cảm ơn đã giúp đỡ một lần nữa.
codolom

Câu trả lời:


19

Tất cả điều này có thể được thực hiện bằng cách sử dụng VBoxManage sau khi bạn đã thiết lập kết nối ssh:

1. Liệt kê VMS của bạn:

Đầu tiên liệt kê các Máy ảo có sẵn của bạn bằng lệnh VBoxManage list vms, tôi minh họa điều này trên thiết lập của riêng tôi:

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~$ 

Lưu ý: Nếu bạn không chắc VM nào thực sự đang chạy, bạn có thể sử dụng VBoxManage list runningvmsthay thế ...

2. Khởi động VM:

Các VBoxManagelệnh và các tùy chọn mà bạn đang theo đuổi để bắt đầu một Virtual Machine là những:

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

Vì vậy, để bắt đầu VM "Trusty Tahr Clean Copy" trong ví dụ của tôi, bạn sẽ sử dụng:

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

3. Dừng VM:

Để dừng VM, bạn sẽ sử dụng VBoxManagelại nhưng lần này với controlvmtùy chọn:

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

Và trong ví dụ của tôi để đóng VM "Trusty Tahr Clean Copy", lệnh sẽ là:

VBoxManage controlvm "Trusty Tahr Clean Copy" savestate

Tất cả điều này sẽ hoạt động tốt hơn ssh, người cần một gui sau tất cả :)


Tôi đã thử các lệnh này trước khi hỏi. Danh sách VBoxManage vms | runningvms | bất cứ điều gì khác - kết quả trống rỗng Không thể. Các vms được tạo trên frontend đồ họa và chúng đang chạy. Đây là thời điểm, khi tôi yêu cầu giúp đỡ.
codolom

@codolom Hmmm .... phải là kết nối ssh rồi. Bạn đang kết nối với máy tính chủ của bạn từ một máy tính khác thông qua ssh? Tôi đoán bạn đang sử dụng dòng lệnh ssh ...
andrew.46

@codolom t tò mò, tôi đã kiểm tra thông tin trong câu trả lời của tôi ion hệ thống của riêng tôi thông qua ssh và nó hoạt động hoàn hảo. Danh sách `VBoxManage vms` có lỗi không?
andrew.46

Tôi không biết đó là một vấn đề. Tôi đã cố gắng sửa nó theo cách này: stackoverflow.com/questions/5906441/ Từ Tôi ghét hộp văn bản này bằng Ctrl + Enter :( - Xin lỗi vì đã bỏ lỡ các dòng. Tôi đã áp dụng lệnh này trên bảng điều khiển, nhưng kết quả tương tự.
codolom

Không có lỗi. Đầu ra trống.
codolom

2

Để tắt máy duyên dáng:

VBoxManage controlvm "Name" acpipowerbutton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.