From fad840cfe558601a8ec02414f1235824bc9f3168 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Wed, 15 Apr 2015 12:37:30 +0200 Subject: test script: doc/examples/run-nxproxy2nxproxy-test Launch this script (after nxproxy has been installed into $PATH) and you will be able to evoke any local command through a nxproxy -C <-> nxproxy -S connection on DISPLAY=:8. This eases testing NX compression without using NX agent on the server side. How to use: # install nxproxy into $PATH, then... $ cd doc/examples/ $ ./run-nxproxy2nxproxy-test $ export DISPLAY=:8 $ xterm --- doc/examples/run-nxproxy2nxproxy-test | 140 ++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100755 doc/examples/run-nxproxy2nxproxy-test (limited to 'doc') diff --git a/doc/examples/run-nxproxy2nxproxy-test b/doc/examples/run-nxproxy2nxproxy-test new file mode 100755 index 000000000..b7bf64d0f --- /dev/null +++ b/doc/examples/run-nxproxy2nxproxy-test @@ -0,0 +1,140 @@ +#!/bin/bash + +set -e + +#/**************************************************************************/ +#/* */ +#/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ +#/* Copyright (c) 2015 Mike Gabriel " | grep MIT | cut -f 5 -d ' '` +NX_COOKIE=123efa980d2cba234ef6f73deac810ff + + +# +# Create the directories for the NX session. +# + +rm -rf ${NX_ROOT}/C-${NX_PORT} || exit +mkdir -p ${NX_ROOT}/C-${NX_PORT} || exit + +rm -rf ${HOME}/.nx/S-${NX_PORT} || exit +mkdir -p ${HOME}/.nx/S-${NX_PORT} || exit + +# +# Set the path to libraries and NX executables. +# + +LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${HOME}/NX/nxcomp:${HOME}/NX/nxcompext:${HOME}/NX/nx-X11/exports/lib" +export LD_LIBRARY_PATH + +PATH="${PATH}:${HOME}/NX/nxclient/nxclient:${HOME}/NX/nx-X11/programs/Xserver/" +export PATH + +# +# Create the fake cookie for this display. +# + +echo -ne "Creating the X authorization cookie.\n" + +xauth add ${HOSTNAME}/unix:${NX_PORT} MIT-MAGIC-COOKIE-1 ${NX_COOKIE} +xauth add ${HOSTNAME}:${NX_PORT} MIT-MAGIC-COOKIE-1 ${NX_COOKIE} + +# +# Options are written in a file 'options' in the session +# directory. The agent will use the DISPLAY settings, so +# we pass in the DISPLAY the name of the options file. +# +# cache=8M,images=32M,link=modem,type=unix-kde,cleanup=0, +# accept=62.98.198.1,cookie=$NX_COOKIE, +# id=giulietta.nomachine.com-1098-6A4649FD0FCA57FAC275AF3F1C45B10F, +# media=1:1098 +# + +#NX_HOST=nx/nx,link=lan,pack=no-pack,keybd=1,samba=1,cups=1,limit=0,\ +#accept=127.0.0.1,cookie=$NX_COOKIE,errors=${NX_ROOT}/C-${NX_PORT}/session + +#NX_HOST=nx/nx,link=lan,pack=16m-jpeg-9,keybd=1,samba=1,cups=1,limit=0,\ +#accept=127.0.0.1,cookie=$NX_COOKIE,errors=${NX_ROOT}/C-${NX_PORT}/session + +#NX_HOST=nx/nx,cache=8192k,link=modem,keybd=1,samba=1,cups=1,limit=0,\ +#connect=127.0.0.1,cookie=$NX_COOKIE,errors=${NX_ROOT}/C-${NX_PORT}/session + +NX_HOST=nx/nx,link=lan,pack=16m-jpeg-9,keybd=1,samba=1,cups=1,limit=0,\ +accept=127.0.0.1,cookie=$NX_COOKIE,errors=${NX_ROOT}/C-${NX_PORT}/session + +echo "${NX_HOST}:${NX_PORT}" >${NX_ROOT}/C-${NX_PORT}/options + +# +# Run the local proxy impersonating the X display. +# + +echo -ne "Running the X client side NX proxy.\n" + +#valgrind -v --num-callers=8 --error-limit=no --trace-children=no \ +#valgrind --tool=memcheck --track-fds=yes \ +nxproxy -C nx/nx,options=${NX_ROOT}/C-${NX_PORT}/options:${NX_PORT} \ +2>>${HOME}/.nx/C-${NX_PORT}/session & + +# +# The X server side proxy will forward the connection +# to the original DISPLAY. +# + +# +# These are the nxproxy options used to run a typical session. +# +# cookie=$NX_COOKIE,root=/home/pinzari/.nx,media=32824, +# session=kde_on_giulietta,id=giulietta.nomachine.com-1098-6A4649FD0FCA57FAC275AF3F1C45B10F, +# connect=giulietta.nomachine.com:1098 +# + +NX_HOST=nx/nx,keybd=1,samba=1,cups=1,connect=localhost,cookie=$NX_COOKIE,errors=${NX_ROOT}/S-${NX_PORT}/session + +echo "${NX_HOST}:${NX_PORT}" >${NX_ROOT}/S-${NX_PORT}/options + +echo -ne "Running the X server side NX proxy.\n" + +#cachegrind -v --dumps=100000000 \ +#cachegrind -v \ +#valgrind -v --leak-check=yes --leak-resolution=high --show-reachable=yes \ +# --show-reachable=yes --suppressions=nxproxy/nxproxy.supp \ +# --weird-hacks=lax-ioctls --num-callers=8 --logfile-fd=2 \ +nxproxy -S nx/nx,options=${NX_ROOT}/S-${NX_PORT}/options:${NX_PORT} \ +2>>${HOME}/.nx/S-${NX_PORT}/session & + +echo -ne "Session running on display :$NX_PORT.\n" + -- cgit v1.2.3