Virtual WorkStation (or Wagner's Spice) is set of script wrappers to QEMU/KVM intened to use on notebooks or developer's workstations, where few virtual machines exist, these machines are seldom created and guest OS configurations are carefully tuned.


<h2>Main objectives:</h2>
  *  Virtual machines should be kept as isolated as possible. One should be able to easily move them around, even to the hosts wbere no VWS installed.
  *  Most virtual machines are workstations, which means you need GUI, sound, USB devices etc on them.
  *  Networking is fully controlled by user.
  *  Use of our scripts shouldn't prevent users from operating directly with QEMU command line and monitor.
  *  Script layer should be as thin as possible, readable and understandable by almost anyoune
  *  No new hairy formats should be invented, just a [Concepts|simple conventions] how to store VMs in filesystem to make in operable by scripts and how to put options into shell scripts to make them editable by wizard-like interface
  *  No attempt to support every virtualization technology out there. Concentrate on QEMU and do our best with it.
d
<h2>Current state</h2>

Now project reached stage, where [simple scripts] can be easily installed and manage collection of dozens of virtual machines.

For more than year it is used to maintain build farm for one big crossplatform project.

See [Concepts] for whole picture how to use it.

  *  We support easy interface for creating machine either by attaching installation iso-image and starting installation or by importing existing image. Any format supported by qemu-img (i.e. qemu native formats, vmware or virtial box images) can be used.
  *  There is support for autostart machines, which are started on system boot.
  *  On system shutown it tries to gracefuly shutdown all virtual machines including ones, started interactively.
  *  There is easy way to attach iso image to virtual cdrom
  *  USB devices can be connected to VM either via <b>vws</b> script (on host where machine is running) or via spice client (on the workstation where user is sitting).


<h2>Project Phases</h2>

  #  Collect [Useful tips about QEMU] - done, but additions are welcome
  #  Write [simple scripts]  - done, but there is always room to perfection
  #  Write [GUI] to control virtual machine though monitor - future
  #  Add [graphic console] to GUI using pygtk spice widget - futire