Opens a VNC viewer to another Qube. This is useful for facilitating screensharing of another qube through Google Meet, Zoom, etc.
Download the latest .rpm from the Releases page,
and install it with dnf to both the source and destination qube. It is preferable to install it
your templates.
sudo dnf install -y /path/to/downloaded/rpmIn Dom0, apply a policy that permits qyoobs-vnc to work. Use the Qubes Policy Editor, or whatever
strategy you're using to apply Qubes policies.
# Configure this policy to your taste.
qyoobs.VNC * @anyvm @anyvm askThen, run qyoobs-vnc connect. Let's try connecting to the personal VM.
qyoobs-vnc connect personalYou'll get a dom0 prompt to allow the operation. Allow it, then a VNC window with the contents of the target qube should appear.
Maximize and drag the window to another workspace. You should then be able to screenshare the VNC window from your source qube.
If you have multiple monitors, and want to limit the capture to a single monitor, use the --screen
option.
qyoobs-vnc connect personal --screen 1You can also interactively select an entity to capture using the --choose flag.
qyoobs-vnc connect personal --chooseTo build from source, install the dependencies libX11-devel and libXinerama-devel.
To build the RPM, install cargo-generate-rpm with cargo install cargo-generate-rpm. Then, build
it.
cargo build --release
cargo generate-rpmThe RPM will be present in target/generate-rpm.
This is basically a wrapper around https://www.d10.dev/blog/qubes-vnc-screenshare/. You can follow those steps instead, if you want.
If qubes-video-companion works for you, you should use that instead. I found it consumed a lot of CPU, and having the screen shared through a camera device is kind of awkward.
Maybe I could have improved that instead, but I don't like writing Python ;)