15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
|
If you want to send commands to qemu monitor, preferrable way to do so is
```
vws monitor
```
command. It interacts nicely with other qemu commands, so you can be sure that if you use some **vws** command while monitor is open, it would not break things.
Start brings you GUI
--------------------
By default, if user have DISPLAY variable defined, **vws start** command starts spice client. If it finds, that machine is already running, it just starts the client, If not, it starts machine and than client.
So **vws start** *machine* actually means «I want console of this virtual machine on this screen».
Console is set of devices
-------------------------
When you connect to console of virtual machine, you get not only picture on your screen and ability to send keyboard and mouse events. By default, vws virtual machines have emulated sound card and sounds are forwarded to client.
Also by default, at least one USB device on the client machine can be redirected to VM. When **vws usb** command operates with server devices, i.e. devices on machine where VM is running, spice-client allows to redirect devices from the machine where user sits.
Remote access
-------------
By default, vws virtual machines listen for spice connection on loopback interface only. Of course, you always can use ssh port forwarding if you want to access spice GUI of machine, you've not started for remote use.
But if you start machine with environment SPICE_PASSWORD defined, it binds to all interfaces and allows access to anybody who knows this password.
Option **--password** for **vws start** command does this. But it cannot change configuration of already started machine. If qemu monitor allows to change password interactively, it doesn't allow to change list of interfaces spice server listen on.
If you want some machine to always start in the network-accessable mode, you can define SPICE_PASSWORD directy in the machine's **start** script. It is only way to allow network access for autostart VMs.
Personal and shared VMs
-----------------------
**vws** supports personal and shared VMs. By default, **vws create** creates personal vm in the ~/VWs. If you want to create shared VM, use **--shared** option.
~/VWs may be symlink to another partition where there is enough space for virtual machines.
If you want to share already created VM, just move it to shared VMs directory, as specified in /etc/vws.conf and chgrp it to vm_group (as specified in the same file). You should be able to do so without superuser rights, because shared VM directory should be writable to vm_group (if vws is properly set up) and you must be member of this group to use kvm at all.
VMs are created group writable anyway, both shared and personal. It does no harm to have personal VMs group-writable, because modern Linuxes have personal group for each user.
Autostart VMs
-------------
Sometimes it is desirable that some VMs start upon system bootup. In **vws** autostart VMs are considered shared.
/etc/vws.conf lists two directories for shaed vms
SharedVMs and AutostartVMs. VMs in first directory should be started explicitely one by one using **vws start** command.
VMs and second one are started at once by **vws autostart**.
VMs in the second one are started at once by **vws autostart**.
vws distribution provides init.d script for system V init and service file for systemd, to autostart machines.
Note that there also is **vws shutdown** command which tries to stop any running VM it finds - shared or personal, autostarted or not.
Creating Virtual Machines
=========================
|