Giter Site home page Giter Site logo

x11spice's Introduction

  THIS PROJECT HAS MOVED.  THE OFFICIAL REPOSITORY IS NOW LOCATED ON GITLAB:
      https://gitlab.com/spice/x11spice


x11spice
========

  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.


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.


Building
--------

Building is pretty much a matter of doing configure && make.

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


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

Presuming that first step runs successfully, then you can just invoke:
    make

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.


Configuration
-------------
x11spice will use, in this order:
  - Command line parameters
  - 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)

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

The xdg/x11spice//x11spice.conf file contains a commented example with all the
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:
    x11spice --generate-password
should start a session on port 5900 and give you a one time
password you can use to connect.

Refer to the x11spice man page for more details.


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,
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.


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.


History
-------
x11spice was initially created by Jeremy White <[email protected]>
in July of 2016.

x11spice's People

Contributors

jwhite66 avatar snir911 avatar xerus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

x11spice's Issues

No MAKEFILE generated after ./configure

I followed the README and after ./autogen.sh and ./configure, there was no MAKEFILE generated in the directory. The output of ./configure are:

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
./configure: line 2692: syntax error near unexpected token `XCB,'
./configure: line 2692: `PKG_CHECK_MODULES(XCB, xcb)'

And here is the what are in the directory after ./configure

AUTHORS  ChangeLog  Makefile.am  NEWS    aclocal.m4  autom4te.cache  config.log  configure.ac  doc         missing  test-driver
COPYING  INSTALL    Makefile.in  README  autogen.sh  compile         configure   depcomp       install-sh  src

Clearly there's no MAKEFILE, and thus when I tried make, error output generated:

make: *** No targets specified and no makefile found.  Stop.

Is it a code problem or my setup problem, I didn't find effective answer online, would you please help me kindly fix it? Thanks a lot! ๐Ÿ‘

`make` fails errors

After successfully generating files using ./autogen.sh and ./configure

make, however, failed with the following error output, as is stated in the attached file
error output when make.txt
Just in case .txt is not a friendly format for you, a PDF file with same content is also provided.
error output when make.pdf

But I managed to solve it with in a rather ugly manner:

cd src/tests
gcc -Wall   -o x11spice_test tests.o x11spice_test.o xcb.o xdummy.o util.o main.o     -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/spice-server -I/usr/include/spice-1 -I/usr/include/spice-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -g -O2 -lxcb -lxcb-damage -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lxcb-xtest -lxcb -lxcb-shm -lxcb -lxcb-util -lxcb -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lspice-server -lglib-2.0 -lpixman-1

The command above is actually an adjustment of the error output by putting -o x11spice_test tests.o x11spice_test.o xcb.o xdummy.o util.o main.o that was initially at the bottom right after gcc -Wall.

After that, I modify src/Makefile by deleting -Werror in the line that I find it.

When finishing these steps, make succeeded. I think there might be some problems in your code, hope this issue can help you to fix it. Appreciative!

Best regards

Add Debian instructions

Next instructions were tested on Debian testing. They can be added to README as a reference.

Install build dependencies:

$ sudo aptitude install libxcb1-dev libxcb-damage0-dev libxcb-xtest0-dev libxcb-shm0-dev libxcb-util0-dev libxcb-xkb-dev libxcb-xfixes0-dev libgtk2.0-dev libspice-server-dev libspice-protocol-dev libglib2.0-dev libpixman-1-dev libaudit-dev

Install run-time dependencies:

$ sudo aptitude install libxcb1 libxcb-damage0 libxcb-xtest0 libxcb-shm0 libxcb-util0 libxcb-xkb1 libxcb-xfixes0 libgtk2.0-0 libspice-server1 libglib2.0-0 libpixman-1-0 libaudit1

Build configuration:

$ ./autogen.sh
$ ./configure

Build:

$ make

Install (prefix by default is /usr/local/):

$ sudo make install

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.