mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2025-02-26 01:31:18 -05:00
Revise in accordance with documentation guidelines
This commit is contained in:
parent
d3ac750f26
commit
b7b29f0143
@ -9,8 +9,7 @@ redirect_from:
|
||||
- /wiki/DisposableVMs/
|
||||
---
|
||||
|
||||
DisposableVMs
|
||||
=============
|
||||
# DisposableVMs #
|
||||
|
||||
A DisposableVM (previously known as a "DispVM") is a lightweight VM that can be created quickly and will disappear when closed.
|
||||
DisposableVMs are usually created in order to host a single application, like a viewer, editor, or web browser.
|
||||
@ -24,8 +23,7 @@ While running, DisposableVMs will appear in Qubes VM Manager with the name `disp
|
||||
See [this article](https://blog.invisiblethings.org/2010/06/01/disposable-vms.html) for more on why one would want to use a DisposableVM.
|
||||
|
||||
|
||||
Security
|
||||
--------
|
||||
## Security ##
|
||||
|
||||
If a [DVM Template] becomes compromised, then any DisposableVM based on that DVM Template could be compromised.
|
||||
In particular, the *default* DVM Template is important because it is used by the "Open in DisposableVM" feature.
|
||||
@ -40,8 +38,10 @@ For details, see [this thread](https://groups.google.com/d/topic/qubes-devel/QwL
|
||||
When it is essential to avoid leaving any trace, consider using [Tails](https://tails.boum.org/).
|
||||
|
||||
|
||||
DisposableVMs and Networking (R4.0 and later)
|
||||
-----------------------------
|
||||
## Qubes 4.0 ##
|
||||
|
||||
|
||||
### DisposableVMs and Networking ###
|
||||
|
||||
Similarly to how AppVMs are based on their underlying [TemplateVM](https://www.qubes-os.org/doc/glossary/#templatevm), DisposableVMs are based on their underlying [DVM Template](https://www.qubes-os.org/doc/glossary/#dvm-template).
|
||||
R4.0 introduces the concept of multiple DVM Templates, whereas R3.2 was limited to only one.
|
||||
@ -85,11 +85,75 @@ Some DVM Templates will automatically create a menu item to launch a DVM, if you
|
||||
To launch a DVM from the command line, in dom0 please type the following:
|
||||
|
||||
qvm-run --dispvm=NameOfDVM --service qubes.StartApp+NameOfApp
|
||||
|
||||
|
||||
|
||||
DisposableVMs and Networking (R3.2 and earlier)
|
||||
-----------------------------
|
||||
|
||||
### Opening a file in a DisposableVM via GUI ###
|
||||
|
||||
In an AppVM's file manager, right click on the file you wish to open in a DisposableVM, then choose "Open in DisposableVM".
|
||||
Wait a few seconds and the default application for this file type should appear displaying the file content.
|
||||
This app is running in its own dedicated VM -- a DisposableVM created for the purpose of viewing or editing this very file.
|
||||
Once you close the viewing application the whole DisposableVM will be destroyed.
|
||||
If you have edited the file and saved the changes, the changed file will be saved back to the original AppVM, overwriting the original.
|
||||
|
||||
 
|
||||
|
||||
|
||||
### Opening a fresh web browser instance in a new DisposableVM ###
|
||||
|
||||
Sometimes it is desirable to open an instance of Firefox within a new fresh DisposableVM.
|
||||
This can be done easily using the Start Menu: just go to **Application Menu -\> DisposableVM -\> DisposableVM:Firefox web browser**.
|
||||
Wait a few seconds until a web browser starts.
|
||||
Once you close the viewing application the whole DisposableVM will be destroyed.
|
||||
|
||||

|
||||
|
||||
|
||||
### Opening a file in a DisposableVM via command line (from AppVM) ###
|
||||
|
||||
Use the `qvm-open-in-dvm` command from a terminal in your AppVM:
|
||||
|
||||
~~~
|
||||
[user@work-pub ~]$ qvm-open-in-dvm Downloads/apple-sandbox.pdf
|
||||
~~~
|
||||
|
||||
Note that the `qvm-open-in-dvm` process will not exit until you close the application in the DisposableVM.
|
||||
|
||||
|
||||
### Starting an arbitrary program in a DisposableVM from an AppVM ###
|
||||
|
||||
Sometimes it can be useful to start an arbitrary program in a DisposableVM. This can be done from an AppVM by running
|
||||
|
||||
~~~
|
||||
[user@vault ~]$ qvm-run '$dispvm' xterm
|
||||
~~~
|
||||
|
||||
The created DisposableVM can be accessed via other tools (such as `qvm-copy-to-vm`) using its `disp####` name as shown in the Qubes Manager or `qvm-ls`.
|
||||
|
||||
|
||||
### Starting an arbitrary application in a DisposableVM via command line from dom0 ###
|
||||
|
||||
The Application Launcher has shortcuts for opening a terminal and a web browser in dedicated DisposableVMs, since these are very common tasks.
|
||||
However, it is possible to start an arbitrary application in a DisposableVM directly from dom0 by running:
|
||||
|
||||
~~~
|
||||
$ qvm-run --dispvm=dvm-template --service qubes.StartApp+xterm
|
||||
~~~
|
||||
|
||||
The label color will be inherited from the `dvm-template`.
|
||||
(The DisposableVM Application Launcher shortcut used for starting programs runs a very similar command to the one above.)
|
||||
|
||||
|
||||
### Customizing DisposableVMs ###
|
||||
|
||||
You can change the template used to generate the DisposableVMs, and change settings used in the DisposableVM savefile.
|
||||
These changes will be reflected in every new DisposableVM based on that template.
|
||||
Full instructions can be found [here](/doc/disposablevm-customization/).
|
||||
|
||||
|
||||
## Qubes 3.2 ##
|
||||
|
||||
|
||||
### DisposableVMs and Networking ###
|
||||
|
||||
NetVM and firewall rules for DisposableVMs can be set as they can for a normal VM.
|
||||
By default a DisposableVM will inherit the NetVM and firewall settings of the VM from which it is launched.
|
||||
@ -102,8 +166,8 @@ By default the DVM template is called `fedora-XX-dvm` (where `XX` is the Fedora
|
||||
As an "internal" VM it is hidden in Qubes VM Manager, but can be shown by selecting "Show/Hide internal VMs".
|
||||
Note that changing the "NetVM for DisposableVM" setting for the DVM Template does *not* affect the NetVM of DisposableVMs launched from the Start Menu; only changing the DVM Template's own NetVM does.
|
||||
|
||||
Opening a file in a DisposableVM via GUI
|
||||
-----------------------------------------
|
||||
|
||||
### Opening a file in a DisposableVM via GUI ###
|
||||
|
||||
In an AppVM's file manager, right click on the file you wish to open in a DisposableVM, then choose "Open in DisposableVM".
|
||||
Wait a few seconds and the default application for this file type should appear displaying the file content.
|
||||
@ -113,8 +177,8 @@ If you have edited the file and saved the changes, the changed file will be save
|
||||
|
||||
 
|
||||
|
||||
Opening a fresh web browser instance in a new DisposableVM
|
||||
-----------------------------------------------------------
|
||||
|
||||
### Opening a fresh web browser instance in a new DisposableVM ###
|
||||
|
||||
Sometimes it is desirable to open an instance of Firefox within a new fresh DisposableVM.
|
||||
This can be done easily using the Start Menu: just go to **Application Menu -\> DisposableVM -\> DisposableVM:Firefox web browser**.
|
||||
@ -123,8 +187,8 @@ Once you close the viewing application the whole DisposableVM will be destroyed.
|
||||
|
||||

|
||||
|
||||
Opening a file in a DisposableVM via command line (from AppVM)
|
||||
---------------------------------------------------------------
|
||||
|
||||
### Opening a file in a DisposableVM via command line (from AppVM) ###
|
||||
|
||||
Use the `qvm-open-in-dvm` command from a terminal in your AppVM:
|
||||
|
||||
@ -134,8 +198,8 @@ Use the `qvm-open-in-dvm` command from a terminal in your AppVM:
|
||||
|
||||
Note that the `qvm-open-in-dvm` process will not exit until you close the application in the DisposableVM.
|
||||
|
||||
Starting an arbitrary program in a DisposableVM from an AppVM
|
||||
--------------------------------------------------------------
|
||||
|
||||
### Starting an arbitrary program in a DisposableVM from an AppVM ###
|
||||
|
||||
Sometimes it can be useful to start an arbitrary program in a DisposableVM. This can be done from an AppVM by running
|
||||
|
||||
@ -145,8 +209,8 @@ Sometimes it can be useful to start an arbitrary program in a DisposableVM. This
|
||||
|
||||
The created DisposableVM can be accessed via other tools (such as `qvm-copy-to-vm`) using its `disp####` name as shown in the Qubes Manager or `qvm-ls`.
|
||||
|
||||
Starting an arbitrary application in a DisposableVM via command line (from Dom0)
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
### Starting an arbitrary application in a DisposableVM via command line (from Dom0) ###
|
||||
|
||||
The Start Menu has shortcuts for opening a terminal and a web browser in dedicated DisposableVMs, since these are very common tasks.
|
||||
However, it is possible to start an arbitrary application in a DisposableVM directly from Dom0 by running
|
||||
@ -163,8 +227,8 @@ R3.2 (border colour can be specified in the command)
|
||||
|
||||
(The DisposableVM appmenu used for starting Firefox runs a very similar command to the one above.)
|
||||
|
||||
Customizing DisposableVMs
|
||||
--------------------------
|
||||
|
||||
### Customizing DisposableVMs ###
|
||||
|
||||
You can change the template used to generate the DisposableVMs, and change settings used in the DisposableVM savefile.
|
||||
These changes will be reflected in every new DisposableVM based on that template.
|
||||
|
Loading…
x
Reference in New Issue
Block a user