x11spice connects a running X server as a Spice server.
It owes a debt to the excellent x11vnc project, from the libvncserver
project. That project proved that this could be done, and done well.
Some of the logic, notably that of scan.c, was inspired by the code
in x11vnc.
Example: launch a spice server on a remote pc (where x11spice is
installed) via ssh, redirect the output locally and connect to it with
spicy
ssh $remote_host -L 5900:localhost:5900 \
"x11spice --allow-control --display :0 --password=whatever"
and then locally
spicy -h localhost -p 5900