New upstream version 3.5.99.27
This commit is contained in:
141
testscripts/run-nxproxy2nxproxy
Executable file
141
testscripts/run-nxproxy2nxproxy
Executable file
@@ -0,0 +1,141 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
#/**************************************************************************/
|
||||
#/* */
|
||||
#/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
|
||||
#/* Copyright (c) 2015-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
|
||||
#/* */
|
||||
#/* NXSCRIPTS, NX protocol compression and NX extensions to this software */
|
||||
#/* are copyright of the aforementioned persons and companies. */
|
||||
#/* */
|
||||
#/* Redistribution and use of the present software is allowed according */
|
||||
#/* to terms specified in the file LICENSE.nxcomp which comes in the */
|
||||
#/* source distribution. */
|
||||
#/* */
|
||||
#/* All rights reserved. */
|
||||
#/* */
|
||||
#/* NOTE: This software has received contributions from various other */
|
||||
#/* contributors, only the core maintainers and supporters are listed as */
|
||||
#/* copyright holders. Please contact us, if you feel you should be listed */
|
||||
#/* as copyright holder, as well. */
|
||||
#/* */
|
||||
#/**************************************************************************/
|
||||
|
||||
#
|
||||
# Uncomment this to enable echo.
|
||||
#
|
||||
# set -x
|
||||
#
|
||||
|
||||
ulimit -c "unlimited"
|
||||
|
||||
NX_PORT="8"
|
||||
|
||||
NX_SYSTEM="${HOME}/.nx"
|
||||
|
||||
NX_ROOT="${HOME}/.nx"
|
||||
|
||||
mkdir -p "${NX_ROOT}"
|
||||
|
||||
#
|
||||
# This should be randomly generated.
|
||||
#
|
||||
|
||||
NX_COOKIE="$(xauth -n list |grep "${HOSTNAME}/unix:${NX_PORT}" | grep 'MIT' | cut -f '5' -d ' ' | head -n1)"
|
||||
[[ -z "$NX_COOKIE" ]] && NX_COOKIE="$(mcookie)"
|
||||
|
||||
#
|
||||
# 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 "${NX_ROOT}/S-${NX_PORT}" || exit
|
||||
mkdir -p "${NX_ROOT}/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 "Creating the X authorization cookie."
|
||||
|
||||
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 "Running the X client side NX proxy."
|
||||
|
||||
#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>>"${NX_ROOT}/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 "Running the X server side NX proxy."
|
||||
|
||||
#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>>"${NX_ROOT}/S-${NX_PORT}/session" &
|
||||
|
||||
echo "Session running on display :${NX_PORT}."
|
||||
Reference in New Issue
Block a user