jwhite66 / x11spice Goto Github PK
View Code? Open in Web Editor NEWx11spice allows an existing x11 session to be exported using a spice server.
License: GNU General Public License v3.0
x11spice allows an existing x11 session to be exported using a spice server.
License: GNU General Public License v3.0
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.
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! ๐
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.