2011-04-07 09:13:39 -04:00
|
|
|
---
|
2015-04-10 16:17:45 -04:00
|
|
|
layout: doc
|
2016-04-18 23:07:56 -04:00
|
|
|
title: Copying from (and to) dom0
|
2016-04-14 18:34:59 -04:00
|
|
|
permalink: /doc/copy-from-dom0/
|
2015-10-11 03:04:59 -04:00
|
|
|
redirect_from:
|
2016-04-14 18:34:59 -04:00
|
|
|
- /doc/copy-to-dom0/
|
2015-10-28 18:14:40 -04:00
|
|
|
- /en/doc/copy-to-dom0/
|
2015-10-11 03:04:59 -04:00
|
|
|
- /doc/CopyToDomZero/
|
|
|
|
- /wiki/CopyToDomZero/
|
2011-04-07 09:13:39 -04:00
|
|
|
---
|
|
|
|
|
2016-04-18 23:07:56 -04:00
|
|
|
Copying from (and to) dom0
|
|
|
|
==========================
|
|
|
|
|
|
|
|
Copying **from** dom0
|
|
|
|
---------------------
|
2012-05-02 06:05:32 -04:00
|
|
|
|
2016-04-14 18:46:56 -04:00
|
|
|
To copy a file from dom0 to a VM (domU), simply use `qvm-copy-to-vm`:
|
2012-05-02 06:05:32 -04:00
|
|
|
|
2015-09-26 19:00:33 -04:00
|
|
|
~~~
|
2016-04-14 18:46:56 -04:00
|
|
|
qvm-copy-to-vm <dest-vm> <file>
|
2015-09-26 19:00:33 -04:00
|
|
|
~~~
|
2012-05-02 06:05:32 -04:00
|
|
|
|
2016-04-14 18:46:56 -04:00
|
|
|
The file will arrive in your destination VM in the `~/QubesIncoming/dom0/`
|
|
|
|
directory.
|
2014-05-30 00:30:53 -04:00
|
|
|
|
2016-04-18 23:07:56 -04:00
|
|
|
### Copying logs from Dom0 ###
|
2014-05-30 00:30:53 -04:00
|
|
|
|
2016-04-14 18:46:56 -04:00
|
|
|
In order to easily copy/paste the contents of logs from dom0 to the inter-VM
|
|
|
|
clipboard, you can simply:
|
2014-05-30 00:30:53 -04:00
|
|
|
|
|
|
|
1. Right-click on the desired VM in the Qubes VM Manager.
|
|
|
|
2. Click "Logs."
|
|
|
|
3. Click on the desired log.
|
|
|
|
4. Click "Copy to Qubes clipboard."
|
|
|
|
|
2016-04-14 18:46:56 -04:00
|
|
|
You may now paste the log contents to any VM as you normally would (i.e.,
|
|
|
|
Ctrl-Shift-V, then Ctrl-V).
|
2016-04-08 20:58:50 -04:00
|
|
|
|
2016-04-18 23:07:56 -04:00
|
|
|
### Copy/paste from Dom0 ###
|
2016-04-08 20:58:50 -04:00
|
|
|
|
2017-02-11 15:57:29 -05:00
|
|
|
For data other than logs, there are several options:
|
2016-04-08 20:58:50 -04:00
|
|
|
|
|
|
|
1. Copy it as a file (see above)
|
2017-02-11 15:57:29 -05:00
|
|
|
2. Since updated versions of 3.2 you can copy text to the dom0 clipboard
|
|
|
|
(Ctrl-C as normal), then click "Copy Dom0 clipboard" in the Qubes menu:
|
|
|
|
![copy-dom0-clipboard](/attachment/wiki/QubesScreenshots/r3.2-dom0-copyout.png)
|
|
|
|
which is equivelant to Ctrl-Shift-C from a normal AppVM.
|
|
|
|
Then you can use Ctrl-Shift-V and Ctrl-V to paste the copied text into an
|
|
|
|
AppVM as normal.
|
|
|
|
3. In older versions, write the data you wish to copy into
|
|
|
|
`/var/run/qubes/qubes-clipboard.bin`, then write "dom0" to
|
|
|
|
`/var/run/qubes/qubes-clipboard.bin.source`.
|
|
|
|
Then use Ctrl-Shift-V to paste the data to the desired VM.
|
2016-04-14 18:46:56 -04:00
|
|
|
|
|
|
|
|
2016-04-18 23:07:56 -04:00
|
|
|
Copying **to** Dom0
|
|
|
|
-------------------
|
2016-04-14 18:46:56 -04:00
|
|
|
|
|
|
|
There should normally be few reasons for the user to want to copy files from VMs
|
|
|
|
to Dom0, as Dom0 only acts as a "thin trusted terminal", and no user
|
|
|
|
applications run there. Copying untrusted files to Dom0 is not advised and may
|
|
|
|
compromise the security of your Qubes system. Because of this, we do not provide
|
|
|
|
a graphical user interface for it, unlike [copying files between
|
|
|
|
VMs](/doc/copying-files/).
|
|
|
|
|
|
|
|
One common use-case for this is if we want to use a desktop wallpaper in Dom0 we
|
|
|
|
have located in one of our AppVMs (e.g. in the 'personal' AppVM where we got the
|
|
|
|
wallpaper from our camera or downloaded it from the Internet). While it's a
|
|
|
|
well-justified reason, imagine what would happen if the wallpaper (e.g. a JPEG
|
|
|
|
file) was somehow malformed or malicious and attempted to exploit a hypothetical
|
|
|
|
JPEG parser bug in Dom0 code (e.g. in the Dom0's Xorg/KDE code that parses the
|
|
|
|
wallpaper and displays it).
|
|
|
|
|
|
|
|
If you are determined to copy some files to Dom0 anyway, you can use the
|
|
|
|
following method (run this command from Dom0's console):
|
|
|
|
|
|
|
|
~~~
|
|
|
|
qvm-run --pass-io <src-vm> 'cat /path/to/file_in_src_domain' > /path/to/file_name_in_dom0
|
|
|
|
~~~
|
|
|
|
|
|
|
|
You can use the same method to copy files from Dom0 to VMs (if, for some reason,
|
|
|
|
you don't want to use `qvm-copy-to-vm`):
|
|
|
|
|
|
|
|
~~~
|
|
|
|
cat /path/to/file_in_dom0 | qvm-run --pass-io <dest-vm> 'cat > /path/to/file_name_in_appvm'
|
|
|
|
~~~
|
|
|
|
|