16 เมษายน 2559

Published เมษายน 16, 2559 by with 0 comment

เชื่อมต่อ VirtualBox กับ Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปเชื่อมต่อ VirtualBox กับ Python กันครับ

โปรแกรม VirtualBox เป็นโปรแกรมจำลองคอมพิวเตอร์ที่นิยมกันมาก โดย VirtualBox มี API สำหรับภาษา Python เพื่อใช้ควบคุม virtual machines ได้ในชื่อ vboxapi

การติดตั้ง vboxapi

Python 2 สามารถติดตั้งได้โดยการเข้าไปที่ https://www.virtualbox.org/wiki/Downloads โหลด VirtualBox Software Developer Kit (SDK) มาแล้วแตกไฟล์ -> เข้าไปที่ sdk\installer แล้วเปิดคอมมานด์ไลน์ใช้คำสั่ง
python vboxapisetup.py install

Python 3 สามารถติดตั้งได้ด้วยคำสั่ง :
pip3 install https://github.com/GreatFruitOmsk/vboxapi-py3/archive/master.zip





เนื่องจาก vboxapi ไม่มีเอกสารการใช้งาน เราจึงต้องใช้โมดูล pyvbox เข้ามาช่วย
โมดูล pyvbox เป็นโมดูลที่ช่วยให้เราสามารถเข้าถึง API ของ VirtualBox ผ่านทาง vboxapi ให้สะดวกยิ่งขึ้น
ใช้ Apache Software Licence
รองรับทั้ง Python 2 และ Python 3

สามารถติดตั้งได้ด้วยคำสั่ง
pip3 install pyvbox

ตัวอย่างการใช้งาน
> ipython
In [1]: import virtualbox

In [2]: vbox = virtualbox.VirtualBox()

In [3]: session = virtualbox.Session()

In [4]: vm = vbox.find_machine('test_vm')

In [5]: progress = vm.launch_vm_process(session, 'gui', '')

In [6]: h, w, _, _, _, _ = session.console.display.get_screen_resolution(0)

In [7]: png = session.console.display.take_screen_shot_to_array(0, h, w, virtualbox.library.BitmapFormat.png)

In [8]: with open('screenshot.png', 'wb') as f:
  ....:     f.write(png)

In [9]: print(session.state)
Locked

In [10]: session.state
Out[10]: SessionState(2)

In [11]: session.state >= 2
Out[11]: True

In [12]: session.console.power_down()

จะเห็นได้ว่า Python สามารถสั่ง VirtualBox ให้เปิด/ปิด  virtual machines ที่ต้องการได้ จับภาพ virtual machines  และมีความสามารถอื่น ๆ สามารถอ่านได้จากเอกสารครับ

อ่านเอกสารการใช้งานได้ที่ http://pythonhosted.org/pyvbox/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)