README 2.99 KB
Newer Older
1 2 3 4 5 6
x11spice
========

  x11spice connects a running X server as a Spice server.

It owes a debt to the excellent x11vnc project, from the libvncserver project.
Jeremy White's avatar
Jeremy White committed
7 8 9 10 11 12 13 14 15 16 17 18 19 20
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.


Requirements
------------
x11spice has been developed and tested on Linux desktop systems.
It could be extended to work on other UNIX systems with X11 servers with
a modest amount of work.

It has not at all been designed or intended to work with non X systems,
such as Windows or macOS.  The code was written with the hope that others
could make such an extension if they wanted to do the work, but it would
be a substantial amount of effort.
21 22 23 24 25


Building
--------

Jeremy White's avatar
Jeremy White committed
26 27 28 29
Building is pretty much a matter of doing configure && make.

If you are building from git, you will likely want to do:
    ./autogen.sh
30 31
to create and run configure.  You will need autoconf and automake.

Jeremy White's avatar
Jeremy White committed
32 33 34

If you have a regular source drop, you should be able to do:
    ./configure
35

Jeremy White's avatar
Jeremy White committed
36 37
Presuming that first step runs successfully, then you can just invoke:
    make
38

Jeremy White's avatar
Jeremy White committed
39 40 41 42 43 44 45 46 47 48 49
To build x11spice.

You can perform
    make install
to install x11spice to your system, although x11spice will run fine
out of the source tree simply by running
    src/x11spice

You can invoke
    make check
to run the regression tests to make sure everything is working well.
50 51 52 53 54 55


Configuration
-------------
x11spice will use, in this order:
  - Command line parameters
Jeremy White's avatar
Jeremy White committed
56 57
  - An x11spice file in the users's config directory (e.g. ~/.config/x11spice/x11spice.conf)
  - An x11spice file in the system configuration directory (e.g. /etc/xdg/x11spice/x11spice.conf)
58 59 60 61

Some options are only available in the configuration file, in an attempt to
make the command line usage somewhat more simple.

Jeremy White's avatar
Jeremy White committed
62
The xdg/x11spice//x11spice.conf file contains a commented example with all the
63 64 65 66 67 68 69 70 71
configuration examples described.


Usage
-----
The general idea is to invoke x11spice while connected to your X server.

You will need to select a port to listen to and a password.  There are
a variety of options to help with that selection.  The simplest command:
Jeremy White's avatar
Jeremy White committed
72 73
    x11spice --generate-password
should start a session on port 5900 and give you a one time
74 75 76 77
password you can use to connect.

Refer to the x11spice man page for more details.

Jeremy White's avatar
Jeremy White committed
78

79 80 81 82 83
Using code coverage (gcov)
-------------------------
If you want to use gcov for source code coverage, you will need
the AX_CODE_COVERAGE macro.  On Fedora, that is installed
by the autoconf-archive package.  Once you have that available,
Jeremy White's avatar
Jeremy White committed
84 85 86
uncomment the appropriate line in configure.ac and src/Makefile.am,
reconfigure with --enable-code-coverage, and rebuild.  That will
then enable a check-code-coverage target in the Makefile.
87 88


Jeremy White's avatar
Jeremy White committed
89 90 91 92 93 94 95
Community
---------
As of July 2016, x11spice was maintained by the Spice community, at
spice-space.org.  An IRC channel (#SPICE) and a mailing list (spice-devel)
are available.


96 97 98 99
History
-------
x11spice was initially created by Jeremy White <jwhite@codeweavers.com>
in July of 2016.