qvm-prefs.rst 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. .. program:: qvm-prefs
  2. :program:`qvm-prefs` -- List/set various per-VM properties
  3. ==========================================================
  4. Synopsis
  5. --------
  6. :command:`qvm-prefs` qvm-prefs [-h] [--verbose] [--quiet] [--force-root] [--help-properties] *VMNAME* [*PROPERTY* [*VALUE* \| --delete \| --default ]]
  7. Options
  8. -------
  9. .. option:: --help, -h
  10. Show help message and exit.
  11. .. option:: --help-properties
  12. List available properties with short descriptions and exit.
  13. .. option:: --verbose, -v
  14. Increase verbosity.
  15. .. option:: --quiet, -q
  16. Decrease verbosity.
  17. .. option:: --force-root
  18. Force to run as root.
  19. .. option:: --unset, --default, --delete, -D
  20. Unset the property. If is has default value, it will be used instead.
  21. .. option:: --get, -g
  22. Ignored; for compatibility with older scripts.
  23. .. option:: --set, -s
  24. Ignored; for compatibility with older scripts.
  25. Common properties
  26. =================
  27. This list is non-exhaustive. For authoritative listing, see
  28. :option:`--help-properties` and documentation of the source code.
  29. .. warning::
  30. This list is from the core2. It is wrong in many cases, some of them obvious,
  31. some of them not.
  32. include_in_backups
  33. Accepted values: ``True``, ``False``
  34. Control whenever this VM will be included in backups by default (for now
  35. works only in qubes-manager). You can always manually select or
  36. deselect any VM for backup.
  37. pcidevs
  38. PCI devices assigned to the VM. Should be edited using qvm-pci tool.
  39. pci_strictreset
  40. Accepted values: ``True``, ``False``
  41. Control whether prevent assigning to VM a device which does not support any
  42. reset method. Generally such devices should not be assigned to any VM,
  43. because there will be no way to reset device state after VM shutdown, so
  44. the device could attack next VM to which it will be assigned. But in some
  45. cases it could make sense - for example when the VM to which it is assigned
  46. is trusted one, or is running all the time.
  47. pci_e820_host
  48. Accepted values: ``True``, ``False``
  49. Give VM with PCI devices a memory map (e820) of the host. This is
  50. required for some devices to properly resolve conflicts in address space.
  51. This option is enabled by default for VMs with PCI devices and have no
  52. effect for VMs without devices.
  53. label
  54. Accepted values: ``red``, ``orange``, ``yellow``, ``green``, ``gray``,
  55. ``blue``, ``purple``, ``black``
  56. Color of VM label (icon, appmenus, windows border). If VM is running,
  57. change will be applied at first VM restart.
  58. netvm
  59. Accepted values: netvm name, ``default``, ``none``
  60. To which NetVM connect. Setting to ``default`` will follow system-global
  61. default NetVM (managed by qubes-prefs). Setting to ``none`` will disable
  62. networking in this VM.
  63. dispvm_netvm
  64. Accepted values: netvm name, ``default``, ``none``
  65. Which NetVM should be used for Disposable VMs started by this one.
  66. ``default`` is to use the same NetVM as the VM itself.
  67. maxmem
  68. Accepted values: memory size in MB
  69. Maximum memory size available for this VM. Dynamic memory management (aka
  70. qmemman) will not be able to balloon over this limit. For VMs with
  71. qmemman disabled, this will be overridden by *memory* property (at VM
  72. startup).
  73. memory
  74. Accepted values: memory size in MB
  75. Initial memory size for VM. This should be large enough to allow VM startup
  76. - before qmemman starts managing memory for this VM. For VM with qmemman
  77. disabled, this is static memory size.
  78. kernel
  79. Accepted values: kernel version, ``default``, ``none``
  80. Kernel version to use (only for PV VMs). Available kernel versions will be
  81. listed when no value given (there are in /var/lib/qubes/vm-kernels).
  82. Setting to ``default`` will follow system-global default kernel (managed
  83. via qubes-prefs). Setting to ``none`` will use "kernels" subdir in
  84. VM directory - this allows having VM-specific kernel; also this the only
  85. case when /lib/modules is writable from within VM.
  86. template
  87. Accepted values: TemplateVM name
  88. TemplateVM on which VM base. It can be changed only when VM isn't running.
  89. vcpus
  90. Accepted values: no of CPUs
  91. Number of CPU (cores) available to VM. Some VM types (eg DispVM) will not
  92. work properly with more than one CPU.
  93. kernelopts
  94. Accepted values: string, ``default``
  95. VM kernel parameters (available only for PV VMs). This can be used to
  96. workaround some hardware specific problems (eg for NetVM). Setting to
  97. ``default`` will use some reasonable defaults (currently different for VMs
  98. with PCI devices and without). For VM without PCI devices
  99. ``default`` option means inherit this value from the VM template (if any).
  100. Some helpful options (for debugging purposes): ``earlyprintk=xen``,
  101. ``init=/bin/bash``
  102. name
  103. Accepted values: alphanumerical name
  104. Name of the VM. Can be only changed when VM isn't running.
  105. drive
  106. Accepted values: [hd:\|cdrom:][backend-vm:]path
  107. Additional drive for the VM (available only for HVMs). This can be used to
  108. attach installation image. ``path`` can be file or physical device (eg.
  109. :file:`/dev/sr0`). The same syntax can be used in
  110. :option:`qvm-start --drive` - to attach drive only temporarily.
  111. mac
  112. Accepted values: MAC address, ``auto``
  113. Can be used to force specific of virtual ethernet card in the VM. Setting
  114. to ``auto`` will use automatic-generated MAC - based on VM id. Especially
  115. useful when licensing requires a static MAC address.
  116. For template-based HVM ``auto`` mode means to clone template MAC.
  117. default_user
  118. Accepted values: username
  119. Default user used by :manpage:`qvm-run(1)`. Note that it make sense only on
  120. non-standard template, as the standard one always have "user" account.
  121. debug
  122. Accepted values: ``on``, ``off``
  123. Enables debug mode for VM. This can be used to turn on/off verbose logging
  124. in many Qubes components at once (gui virtualization, VM kernel, some other
  125. services).
  126. For template-based HVM, enabling debug mode also disables automatic reset
  127. :file:`root.img` (actually :file:`volatile.img`) before each VM startup, so
  128. changes made to root filesystem stays intact. To force reset
  129. :file:`root.img` when debug mode enabled, either change something in the
  130. template (simple start+stop will do, even touch its :file:`root.img` is
  131. enough), or remove VM's :file:`volatile.img` (check the path with
  132. :manpage:`qvm-prefs(1)`).
  133. qrexec_installed
  134. Accepted values: ``True``, ``False``
  135. This HVM have qrexec agent installed. When VM have qrexec agent installed,
  136. one can use qvm-run to start VM process, VM will benefit from Qubes RPC
  137. services (like file copy, or inter-vm clipboard). This option will be
  138. automatically turned on during Qubes Windows Tools installation, but if you
  139. install qrexec agent in some other OS, you need to turn this option on
  140. manually.
  141. guiagent_installed
  142. Accepted values: ``True``, ``False``
  143. This HVM have gui agent installed. This option disables full screen GUI
  144. virtualization and enables per-window seemless GUI mode. This option will
  145. be automatically turned on during Qubes Windows Tools installation, but if
  146. you install Qubes gui agent in some other OS, you need to turn this option
  147. on manually. You can turn this option off to troubleshoot some early HVM OS
  148. boot problems (enter safe mode etc), but the option will be automatically
  149. enabled at first VM normal startup (and will take effect from the next
  150. startup).
  151. .. note::
  152. when Windows GUI agent is installed in the VM, SVGA device (used to
  153. full screen video) is disabled, so even if you disable this option, you
  154. will not get functional full desktop access (on normal VM startup). Use
  155. some other means for that (VNC, RDP or so).
  156. autostart
  157. Accepted values: ``True``, ``False``
  158. Start the VM during system startup. The default netvm is autostarted
  159. regardless of this setting.
  160. timezone
  161. Accepted values: ``localtime``, time offset in seconds
  162. Set emulated HVM clock timezone. Use ``localtime`` (the default) to use the
  163. same time as dom0 have. Note that HVM will get only clock value, not the
  164. timezone itself, so if you use ``localtime`` setting, OS inside of HVM
  165. should also be configured to treat hardware clock as local time (and have
  166. proper timezone set).
  167. Authors
  168. -------
  169. | Joanna Rutkowska <joanna at invisiblethingslab dot com>
  170. | Rafal Wojtczuk <rafal at invisiblethingslab dot com>
  171. | Marek Marczykowski <marmarek at invisiblethingslab dot com>
  172. | Wojtek Porczyk <woju at invisiblethingslab dot com>
  173. .. vim: ts=3 sw=3 et tw=80