Clipboard Copy Paste From HVMs

49 views
Skip to first unread message

Zsolt Bicskey

unread,
Apr 29, 2020, 2:12:59 PM4/29/20
to qubes...@googlegroups.com
I would like to have the ability to use the clipboard copy paste from any machine. Obviously it's very easy with TemplateVM, or AppVM but I couldn't figure it out how to make that happen when I install HVM from an ISO. I have Debian, RHEL, Ubuntu, CentOS, and Windows 10 machines setup.

PS: I was able to install the Windows Tools on one of the Win10 HVMs but not the other. Both were idential, actually clones of each other. So that's an odd things too



publickey - letmereadit@protonmail.com - 0xEE010E73.asc
signature.asc

Sven Semmler

unread,
Apr 30, 2020, 3:20:54 PM4/30/20
to Zsolt Bicskey, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Wed, Apr 29, 2020 at 06:12:44PM +0000, 'Zsolt Bicskey' via qubes-users wrote:
> I would like to have the ability to use the clipboard copy paste from any machine. Obviously it's very easy with TemplateVM, or AppVM but I couldn't figure it out how to make that happen when I install HVM from an ISO. I have Debian, RHEL, Ubuntu, CentOS, and Windows 10 machines setup.
>
> PS: I was able to install the Windows Tools on one of the Win10 HVMs but not the other. Both were idential, actually clones of each other. So that's an odd things too

Just as with your Windows qubes need the QWT installed the other Linux
installs need the qubes-core-agent* packages installed. I am unclear
which ones exactly are responsible for the copy & paste. You'd probably
need to digg into the qubes-builder to figure this out.

Are you aware that there are qubes tempaltes for

- debian (jessie, stretch & buster)
- ubuntu (xenial & bionic)
- centos 7
- even archlinux

...?

qubes-builder is your friend ;-)

/Sven

- --
public key: https://www.svensemmler.org/0x8F541FB6.asc
fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE18ry22WNibwI1qeq2m4We49UH7YFAl6rJQoACgkQ2m4We49U
H7apVQ//Wz9S34Oghb//g16JtwrwUT59f82f7YBnhVRRNTlWcA6XZ+tTQBVZ/840
29lDml3wsG0QZD8NpBcrziFvdYz0sn8xvyN+DZwySEHS1gm0IKUT9U9jkw3Armp1
gtf8oJodaytN5NHiyFIgU3PQNOLkzq8eyHFd9VnNknBmFHBtYfeb29QW6yaTNLhM
jSXCJ0+CrJI7dwndkCiCecyI5WkMQtqwrNgTAbN8W5AlLeI9bcFv/sJjLTz6EDr6
aDqwYINOds1fUdV5/J7NMQOnOs0tfwVKqUsfmzVHk5J+qbCaRm9Qoi1sTdT/4zKB
Mprujad7ORgVXNQFBnFYMbJ5kTFUbeaEpM1h+1H54Bhr2On/qgzWq/NLLIO3dOOJ
BFSDw6xM3Qte44esJE3Yc+P6HXBMMhapAe5QXruoz8qUYL2JBqzEBHQyje0wVdbm
VwvtDil5XAnRxRwWtlBO0twA2okdb9r5OkA6CYRl9FXZdPgwi0q149AoM++WPaS1
mmhhIXl30wwW6T36ntkHjgHApj1NqzMs2ZH2ImoL9KKW4phClwogZqIKwXyem8Ye
nFwmzlEwz9rR5YSlSBrsY2THWn5SlEr4v1fs/YuGtePvgap90VRoAWFO+4+IyXJF
Ncz4gCl8x9ZT6PPnXTyJZoBf8oA51knRCB6y7l5zZSIPci16uTs=
=1muW
-----END PGP SIGNATURE-----

Sven Semmler

unread,
Apr 30, 2020, 5:34:55 PM4/30/20
to Zsolt Bicskey, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Thu, Apr 30, 2020 at 07:28:20PM +0000, Zsolt Bicskey wrote:
> How can I install those qubes-core-agent packages?

In case of Fedora, Debian/Whonix the Qubes project itself hosts the
respecitve repositories. The easiest way to discover them is to load a
Qubes provided template and inspect the /etc/dnf and /etc/apt
directories respectively.

In case of other distributions (Ubuntu, CentOS, Archlinux) you will need
to have the qubes-builder[1] up and running and build them yourself.

For Ubuntu unman offers a repository[2].

You can also search the qubes-users[4] archive and see e.g. unman
guiding many including myself through their first steps. Personally I
very much like Ubuntu and build the packets myself and then serve them
up through a little webfs instance in my sys-firewall.

> I have heard of those templates but haven't used them. Most of the machines I installed had a specific reason/setup. Where can I find the full list of available templates?

On the Qubes OS website[3]. Please don't top post and always reply to
the list.

/Sven

[1] https://www.qubes-os.org/doc/qubes-builder/
[2] https://qubes.3isec.org/
[3] https://www.qubes-os.org/doc/templates/

- --
public key: https://www.svensemmler.org/0x8F541FB6.asc
fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE18ry22WNibwI1qeq2m4We49UH7YFAl6rRG8ACgkQ2m4We49U
H7ZxbxAArhbws69R0xRK6POpdDksUfKgLMO2TXBoHjXKnhTL7LPojru1kXUBZ+op
iqvoBnaaHyq8fseJqg5gj9mfvFwzziQ7RuDZpPzKtgodT/VYQbN7iVb2/NdR1qDg
Ea5dQ4G/iuQdYQHdfjlAAZ8MMvX4npBmHpjoa+XogCV2bwqoqp0VPWbbSAZ8rxmK
vWLCEnAiD4c+An5jONavtLDOrph+G/i0b2cskOnil3zr2w0WUXp1cjyE1ScAT+Zm
1afAzSBm2ywunSjIDXJ5mxM/+mfTAHyTLVCPWpVLcbBY6mAOPGuUE+30uuIq1rBe
pJIoMdl0EAY2oFhDGo+jQTCyRaVnb4DL+IgJRr0ZdOhLs/fU5ujwyEo1dYE0WYUN
RjTKG1VwiaYsssYLt+yNpiyprOSCt3y+8yXjVF1rV7LzNW62iyBC3cmwF8sEwBH+
GOTt5k5oCF3dSTPTZeH6fRgFBUJrdKe4UhEO72fsswiACMbD95ZXjXPoDejKUiwy
J8cLJ21bd8ViKg6FNOMb7UAAO8mbRY183QvaP0m7mvpWdJIpJOktxfNy7j9+ME+z
lZSxTacZubgB4QrWSKOhlR81jGq7klN95pJKU008HySiL04wIpvT5ihXkqi1NF93
FlxDNo/NWPjxwOD6YXAkD5D1JA4JaqUyPZMFlXqv9MeSETPAwao=
=e40P
-----END PGP SIGNATURE-----

Zsolt Bicskey

unread,
Apr 30, 2020, 7:07:45 PM4/30/20
to Sven Semmler, qubes...@googlegroups.com





‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, April 30, 2020 5:34 PM, Sven Semmler <sv...@svensemmler.org> wrote:

> On Thu, Apr 30, 2020 at 07:28:20PM +0000, Zsolt Bicskey wrote:
>

> > How can I install those qubes-core-agent packages?
>

> In case of Fedora, Debian/Whonix the Qubes project itself hosts the
> respecitve repositories. The easiest way to discover them is to load a
> Qubes provided template and inspect the /etc/dnf and /etc/apt
> directories respectively.
>

> In case of other distributions (Ubuntu, CentOS, Archlinux) you will need
> to have the qubes-builder[1] up and running and build them yourself.
>

> For Ubuntu unman offers a repository[2].
>

> You can also search the qubes-users[4] archive and see e.g. unman
> guiding many including myself through their first steps. Personally I
> very much like Ubuntu and build the packets myself and then serve them
> up through a little webfs instance in my sys-firewall.
>

> > I have heard of those templates but haven't used them. Most of the machines I installed had a specific reason/setup. Where can I find the full list of available templates?
>

> On the Qubes OS website[3]. Please don't top post and always reply to
> the list.
>

> /Sven
>

> [1] https://www.qubes-os.org/doc/qubes-builder/
> [2] https://qubes.3isec.org/
> [3] https://www.qubes-os.org/doc/templates/
>

> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>

> public key: https://www.svensemmler.org/0x8F541FB6.asc
> fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6


Thank you Sven. This does not make much sense to me. Could you pleae help me understand better? So if I want to have the ability to use the clipboard from RHEL or CentOS or Kali or any HVM other than Debin or Fedora then I would have to build the entire OS from scratch with the Qubes Builder? I cannot just add a repo and download a package that would make it work?

publickey - letmereadit@protonmail.com - 0xEE010E73.asc
signature.asc

unman

unread,
Apr 30, 2020, 7:28:33 PM4/30/20
to qubes...@googlegroups.com
On Thu, Apr 30, 2020 at 11:07:35PM +0000, 'Zsolt Bicskey' via qubes-users wrote:
>
>
>
>
>
> ????????????????????? Original Message ?????????????????????
Unless someone is willing to host a repo then you have to build the
package yourself.
Note that qubes-builder is modular - you don't have to "build the
entire OS", you just make the package that you want.
You then have to get it in to the target qube to install it there.

Incidentally, you could try using Fedora packages in RHEL, and Debian in
Kali. Kali is based on Debian testing so you need packages for bullseye.
Clone the target before you try so if it goes horribly wrong you can
simply recover.

Sven Semmler

unread,
Apr 30, 2020, 8:21:41 PM4/30/20
to Zsolt Bicskey, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Thu, Apr 30, 2020 at 11:07:35PM +0000, Zsolt Bicskey wrote:
> So if I want to have the ability to use the clipboard from RHEL or CentOS or Kali or any HVM other than Debin or Fedora then I would have to build the entire OS from scratch with the Qubes Builder? I cannot just add a repo and download a package that would make it work?

No you wouldn't build the entire OS from scratch. The qubes-builder
builds the Qubes related packages and downloads all the other binaries
of an OS from their repos to build a respective template RPM. That
means that after the builder ran you now have a template but also a
folder with all the Qubes specific packages. You can then copy those
packages and apply them to your HVM.

Maybe I can best describe that based on my use case: Ubuntu

- - first I created a StandaloneVM names qubes-builder based on
fedora-minimal
- - then I followed the instructions from the Qubes website to install the
dependencies, clone the repository and run the setup scripts
- - next I build the actual Ubuntu bionic template
- - again following the instructions from the Qubes website I then copied
the resulting RPM into dom0 and installed the template

This last step you do only one time of course. Now you clone the
template, customize it, install apps...

Here is what I do every day:

- - in qubes-builder I do a git pull and if there are changes I rerun the
setup script
- - then I run the make commands
- - when the build is done I use qvm-copy to copy the Qubes specific
bionic packages to my sys-firewall (it runs an instance of webfs)
- - in sys-firewall I have a script that now copies the packages from
QubesIncoming to the location webfs uses. The script also runs the
reprepro command to prepare the additional info files required.
- - in my templates I added a file into /etc/apt/sources.list.d/ that
points to the IP address of my sys-firewall (the webfs instance)
- - so now I can run a normal sudo apt update in my templates and all is
good.

In summary: you use qubes-builder to build the Qubes related packages
and then copy / install them in your respective qube.

/Sven



- --
public key: https://www.svensemmler.org/0x8F541FB6.asc
fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE18ry22WNibwI1qeq2m4We49UH7YFAl6ra4cACgkQ2m4We49U
H7bnWQ/+IbFlPSxUt9jiUJ/Tm5F7F3JcideVhyH4NCfAcE1FwtiWPe0vjOthGn6N
dB0WLOl0tgyRfdbuGYfXCm92awjQFVg7/eaKIF+vP1dERkPBvoBog3oznQD6058Q
IcIaPRlmFgtWgteFWBhMLj6QEXb+fksVO1K+gG330IMro2tOqJkrADdZ3H7bZb+F
RV661o31OSYGqTD+ZMiy7NmZawF/eusOJXkRAGvL2u6kFC5XEhRmNONuEclHsdlS
6lOAPK0xQ81C1kQaDGXocXzJeiglAEWFTFWITEPM2iG2QjTLzR1wzABisaHT2KGc
1wUvAp+j6UL8mt1hgkCs4REzpICB7jMnUCYojUz3yQaOxAIpM0h1wkjosydm6bK2
VPVxOA8076rcuQYM31ItqKvSGehnoGZlBpObtn1OnWFIC0VgekNdattpqjceDd/u
UuR4a1Kd1WMUEGoIGIfuFfqSL72piFPWkWAHco2a2gusC5WKfPHJjjPyFXe310fs
mi2vpLkZsCKwkuOfN6M4S8KXUN8PnF5SpXa+3gRmOzxmOAXzqfNQV6KUtw7n88Sx
rE9paSrR+AZCngVkqbFNAuJVRzAWV5ilj0Df0FY4J9k1ypO/fJw0erCBqj4gtoCx
GZploPRwNWzYdyUuugCvN1Um93ZrSLtLsV0CkVKeRzgnbSjzqW4=
=DKP0
-----END PGP SIGNATURE-----

Zsolt Bicskey

unread,
May 1, 2020, 5:20:41 PM5/1/20
to Sven Semmler, qubes...@googlegroups.com
> --
> public key: https://www.svensemmler.org/0x8F541FB6.asc
> fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6
>

Sven, this sounds fantastic... but I got totally stuck.

I have a template VM ready, clone the repo but what do I do next? How / what do I edit in the builder.conf so I only end up with a package that will help with the HVM Clipboard goal?
publickey - letmereadit@protonmail.com - 0xEE010E73.asc
signature.asc

Sven Semmler

unread,
May 1, 2020, 5:42:22 PM5/1/20
to Zsolt Bicskey, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Fri, May 01, 2020 at 09:20:33PM +0000, Zsolt Bicskey wrote:
> I have a template VM ready, clone the repo but what do I do next? How / what do I edit in the builder.conf so I only end up with a package that will help with the HVM Clipboard goal?

I don't know (haven't spend the time) how to do that. But you could use
the setup script to only build the template for the OS you are
interested in (e.g. bionic). The resulting packages will then be in
qubes-packages-mirror-repo/vm-bionic/deb

I suppose you want at least:

- qubes-core-agent
- qubes-core-agent-qrexec
- qubes-core-agent-networking

/Sven

- --
public key: https://www.svensemmler.org/0x8F541FB6.asc
fingerprint: D7CA F2DB 658D 89BC 08D6 A7AA DA6E 167B 8F54 1FB6

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE18ry22WNibwI1qeq2m4We49UH7YFAl6sl7gACgkQ2m4We49U
H7b1lA//UBHXIOsjQfQI6rw8nhS6iKbDyG44yPDEeHXoMIkOGVrguqTVHYlbB/xy
0mjna3Wc6sHsxmZHiChAklryIeFXhV41gTld57uXlkDmmw8bYvTXQCAvw8B6daLO
oPGdyZZW7G7yRGGRs7U+jWnKdrC056wyIxRiS/4DJ8QVyIGLYHzBccSUvTCkC4l3
A/1WaXO5+yt/02/ahE3B+WWROeqWkRxWF+2KyweetGXYFPR3NfYtEk050rHwF4JI
dpzBZXQu0qIHQClz5cnzDL8oLgv3IBbk0NKhSLSx19xjpao4zCiOVttG8RrLBalW
mP8Yn7yt4I/EkaY/ZJQS7gWAeM17URCVHWusv5dX1oCiuHXBv/24a4GKPnjY0gXE
DKbpZ8WX5u+fM/oljQ90OWvM82gUz3FN8JLrtHmxyROodmYQfCaIgGVogATWu3Sa
xVX8fxwrd+PeVnj2FdtbdNDt15Rqtr/jVAaY8Gu+OWKHSfwHnDiXyDESN0HMdVNm
R9nXmK63KqIYVClyeu3ndknSUKDLe3jKpN4N0DfhUwJQqC8jHVEBQIgP97lFm42b
71WOUo8CS2pE8U7oiBL4cKvFsKI6dyY/+ZayO/LTgSm22Hw7Cvnd+P9YyyRAjOKu
/7daG45QIv0foynWH4p6pWtkRf2a4RKD9GQi8/T2fjQASqp7CY4=
=4qI8
-----END PGP SIGNATURE-----

unman

unread,
May 1, 2020, 8:38:35 PM5/1/20
to qubes...@googlegroups.com, Zsolt Bicskey
On Fri, May 01, 2020 at 04:42:16PM -0500, Sven Semmler wrote:
> On Fri, May 01, 2020 at 09:20:33PM +0000, Zsolt Bicskey wrote:
> > I have a template VM ready, clone the repo but what do I do next? How / what do I edit in the builder.conf so I only end up with a package that will help with the HVM Clipboard goal?
>
> I don't know (haven't spend the time) how to do that. But you could use
> the setup script to only build the template for the OS you are
> interested in (e.g. bionic). The resulting packages will then be in
> qubes-packages-mirror-repo/vm-bionic/deb
>
> I suppose you want at least:
>
> - qubes-core-agent
> - qubes-core-agent-qrexec
> - qubes-core-agent-networking
>
> /Sven
>

No need to build the whole template.
Run ./setup to configure the targets that you want.
The run `make` and you will see a list of potential component targets.
Then make sure you only build the vm target rather than the dom0 package
by appending `-vm` to the name
So `make core-agent-linux-vm` will build all the qubes-core-agent
packages - as Sven says, they will be in the qubes-packages-mirror-repo
directory.
Reply all
Reply to author
Forward
0 new messages