nxcl: A library for building NX clients. Seb James. July-September 2007. seb@esfnet.co.uk Based on nxclientlib by George Wright, but with all dependencies on Qt removed and the Qt build system replaced with GNU autotools. doxygen is required if you want to build source documentation. The library code is in nxcl-release/lib/. A binary, called nxcl - the "nxcl dbus daemon" is built in nxcl-release/nxcl/. nxcl links to libnxcl and can negotiate an nx connection. nxcl-release/test/ contains some test programs. notQtTest tests some of the features of the notQt classes in nxcl-release/lib/. libtest is a simple command line NX client linking straight to the libnxcl library. nxcmd is a second command line NX client, but it launches nxcl, then sends session data there and allows nxcl to negotiate the NX connection. This could be extended into quite a complete command line NX client. A GTK+ NX client called nxlaunch is distributed separately. Nxlaunch uses the nxcl daemon, though it would be quite possible to write a GTK client which links directly to the nxcl library. You should study nxcmd.cpp and nxlaunch if you are interested in writing an NX client using a different widget system (say Windows, Qt, Tk, etc) which uses the Nxcl dbus daemon. Look at nxcl.cpp/h if you want to write an NX client which links directly to libnxcl. Building nxcl ------------- Prerequisites are: * libXcomp from NoMachine, provided by the nxcomp package. * nxssh from NoMachine * nxproxy from NoMachine (These three NX components all should be from the 3.0.0 series. You can obtain them from NoMachine's servers at http://www.nomachine.com/sources.php) And (only) for the standalone dbus client you'll need: * libdbus-1 - http://dbus.freedesktop.org/ Note that you'll need the dbus daemon to be running to use the nxcl standalone binary, but NOT if you link your client directly to libnxcl.so* The D-Bus client can be disabled with the --without-nxcmd flag to configure. If you have doxygen on your system, (imperfect) documentation will be generated from the source header files. Documentation can be disabled with the --without-doxygen flag to configure. Compile and install libXcomp, nxssh and nxproxy following the instructions in the readme file for each package. You can install the nxssh and nxproxy in any of the following locations: /bin /usr/bin /usr/local/bin /usr/NX/bin _or_ the same place that you will install the nxcl binary, determined from your --prefix directive to the configure script. If you checked out the svn code, you need to do: autoreconf -is to create the configure script (from configure.ac) and the Makefiles (from the Makefile.am files). Then configure, make and install in the usual way: ./configure [--enable-debug-output] [--prefix=/opt/myNXstuff] make make install