How to use remote assistance with Ubuntu Frame
Contents:
This document describes how to use the remote assistance function in Ubuntu Frame.
Version:
This feature is only available from Ubuntu Frame 67-mir2.8.0+dev350 onward (currently on the edge
channel).
The ubuntu-frame-vnc
snap
The remote assistance feature of Ubuntu Frame is provided by the ubuntu-frame-vnc snap. It is a distribution of wayvnc built and configured to work with Ubuntu Frame.
You can install the snap from the edge
channel:
$ snap install ubuntu-frame-vnc --edge
Using as a daemon
The default on Ubuntu Core, using as a daemon allows you to always have the remote access enabled. To turn the daemon feature on or off, use:
$ sudo snap set ubuntu-frame-vnc daemon=true
# or
$ sudo snap set ubuntu-frame-vnc daemon=false
Running manually
To run the server manually, just issue:
$ ubuntu-frame-vnc
# Ctrl+C to stop
NB: If you’re running Frame on a Wayland desktop, by default this will try and connect to your desktop rather than Frame. On Ubuntu 22.04, for example, the symptom is:
$ ubuntu-frame-vnc
wl_registry@2: error 0: invalid version for global wl_output (5): have 2, wanted 3
ERROR: Compositor doesn't support screencopy! Exiting.
ERROR: Failed to initialise wayland
To make sure you’re using the same WAYLAND_DISPLAY
, run all the components with the same value of the variable:
$ WAYLAND_DISPLAY=wayland-99 ubuntu-frame
# in another terminal
$ WAYLAND_DISPLAY=wayland-99 ubuntu-frame-vnc
Configuring the server
There are two means of modifying the behaviour of the server - the command line, and a configuration file.
The configuration file
The locations of the config file are, for running manually and as a daemon, respectively:
$HOME/snap/ubuntu-frame-vnc/current/.config/wayvnc/config
and
/root/snap/ubuntu-frame-vnc/current/.config/wayvnc/config
See wayvnc documentation for the available options.
When running as a daemon, restart to pick up the new configuration:
$ sudo snap restart ubuntu-frame-vnc
The command line
On the command line, the available options are:
$ ubuntu-frame-vnc --help
Usage: wayvnc [options] [address [port]]
-C,--config=<path> Select a config file.
-o,--output=<name> Select output to capture.
-k,--keyboard=<layout>[-<variant>] Select keyboard layout with an
optional variant.
-s,--seat=<name> Select seat by name.
-r,--render-cursor Enable overlay cursor rendering.
-f,--max-fps=<fps> Set the rate limit (default 0).
-p,--show-performance Show performance counters.
-u,--unix-socket Create a UNIX domain socket
instead of TCP.
-d,--disable-input Disable all remote input
-V,--version Show version info.
-h,--help Get help (this text).
Input:
Remote input is not currently supported (it’s being worked on), hence --disable-input
is always passed.
You can pass any of those straight on the command line when running manually.
When running as a daemon, you’ll need to use a systemd override:
$ sudo systemctl edit snap.ubuntu-frame-vnc.daemon
For example, to limit the number of frames per second:
[Service]
ExecStart=
ExecStart=/usr/bin/snap run ubuntu-frame-vnc.daemon --max-fps=10
Last updated 26 days ago. Help improve this document in the forum.