Htmlclient will only work with x2gokdrive, not with nxagent. Uli Shea Tomsin <STomsin@econolite.com> schrieb am Do., 28. Okt. 2021, 11:08:
Hi
tl;dr: x2gohtmlclient sends websocket input that nxagent rejects, then aborts on Debian 11 and Ubuntu 20.04.03; e.g.
websockify records " var VNC_frame_data = [ '}3}6ba1f53e7eb3536232eeff332bd49336',
'}3}\x07\x00\x00\x00\x00\x05\x98\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 "
nxagent reports Loop: WARNING! Non printable character decimal '7' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '5' received in remote data from FD#8.
then nxagent aborts Error: Failure negotiating the session in stage '7'. Error: Aborting session with 'Unable to open display 'nx/nx,options=/tmp/.x2go-user/C-user-50-1634698056_stDGNOME_dp24/options:50''. Session: Aborting session at 'Tue Oct 19 22:48:16 2021'.
I saw https://lists.x2go.org/pipermail/x2go-dev/2021-June/013764.html so I tried both Debian 11 and Ubuntu 20.04.03 but same failure on both.
I'm new to x2go and the x2goclient works great so maybe this is an x2gohtmlclient et. al. issue? Perhaps this is a known issue or a misconfiguration on my part with a quick and easy answer.
Many thanks in advance,
Shea
I was trying to follow: https://wiki.x2go.org/doku.php/wiki:advanced:x2gohtmlclient on a Ubuntu 20.04.03 LTS (then later a Debian 11) minimal desktop and I have distilled the wiki instructions to:
# =============== # Ubuntu: Install Software # =============== sudo apt install -y \ fcgiwrap \ g++ \ git \ libcgi-pm-perl \ libencode-perl \ libexpect-perl \ libfile-touch-perl \ libjson-perl \ make \ minify \ nginx-full \ qt5-default \ qt5-qmake \ websockify \ x2goserver \ ;
# =============== # Debian: Install Software # =============== sudo apt install -y \ fcgiwrap \ g++ \ git \ libcgi-pm-perl \ libencode-perl \ libexpect-perl \ libfile-touch-perl \ libjson-perl \ make \ minify \ nginx-full \ qt5-qmake \ qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools \ ssl-cert \ websockify \ x2goserver \ ;
# =============== # Build and install x2gohtmlclient, x2gowswrapper, x2gowebrpc # =============== mkdir ${HOME}/x2go; mkdir ${HOME}/x2go/deploy;
# # Build: x2gowswrapper #
cd ${HOME}/x2go; [ -d 'x2gowswrapper' ] || git clone git://code.x2go.org/x2gowswrapper.git; cd x2gowswrapper;
cat << "END" | patch -p 1 diff --git a/x2gowswrapper.cpp b/x2gowswrapper.cpp index 91922e7..07fa50e 100644 --- a/x2gowswrapper.cpp +++ b/x2gowswrapper.cpp @@ -95,6 +95,7 @@ void X2GoWsWrapper::initialize() QStringList procargs;
procargs<<"--verbose";
- procargs<<"--record"<<"/var/log/x2gows/websockify."+wsPort; if(ssl_cert.length() && ssl_key.length()) { procargs<<"--cert"<< ssl_cert <<"--key"<< ssl_key; END
qmake && make;
install -D -d ${HOME}/x2go/deploy/usr/bin; install -t ${HOME}/x2go/deploy/usr/bin x2gowswrapper;
# # Build: x2gohtmlclient #
cd ${HOME}/x2go; [ -d 'x2gohtmlclient' ] || git clone git:// code.x2go.org/x2gohtmlclient.git; cd x2gohtmlclient; ./minify.sh;
install -D -d ${HOME}/x2go/deploy/etc; ( cd conf; tar c nginx | tar x -C ${HOME}/x2go/deploy/etc/; );
# make externally available sed -i -r -e 's/127.0.0.1/0.0.0.0/' -e 's/::1/::/' ${HOME}/x2go/deploy/etc/nginx/sites-available/x2gohtmlclient-demo.conf; sed -i -r -e 's/127.0.0.1/0.0.0.0/' -e 's/::1/::/' ${HOME}/x2go/deploy/etc/nginx/snippets/x2gohtmlclient-wswrapper.conf;
install -D -d ${HOME}/x2go/deploy/var/log/nginx; install -D -d ${HOME}/x2go/deploy/var/log/x2gows;
install -D -d ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/demo; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/demo index.html; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/demo x2gokdriveclient.html;
install -D -d ${HOME}/x2go/deploy//usr/share/x2gohtmlclient/; install -t ${HOME}/x2go/deploy//usr/share/x2gohtmlclient x2gokdriveclient.html;
install -D -d ${HOME}/x2go/deploy/usr/share/javascript/x2gokdriveclient; install -t ${HOME}/x2go/deploy/usr/share/javascript/x2gokdriveclient dist/x2gokdriveclient.min.js
install -D -d ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/img/; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/img img/buttons/svg/*; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/img img/buttons/png/*; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/img img/backgrounds/svg/*;
install -D -d ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/css/; install -t ${HOME}/x2go/deploy/usr/share/x2gohtmlclient/css css/*;
# # Build: x2gowebrpc #
cd ${HOME}/x2go; [ -d 'x2gowebrpc' ] || git clone git://code.x2go.org/x2gowebrpc.git cd x2gowebrpc;
install -D -d ${HOME}/x2go/deploy/usr/lib/cgi-bin; install -t ${HOME}/x2go/deploy/usr/lib/cgi-bin x2gorpc.cgi
install -D -d ${HOME}/x2go/deploy/etc/x2go/x2gows;
#cat << END > ${HOME}/x2go/deploy/etc/x2go/x2gows/x2gows.options #ws_proto=wss #ssl_cert=$(sed -n -r -e 's/^[[:space:]]*ssl_certificate[[:space:]]+([^[:space:];]*).*$/\1/p' ${HOME}/x2go/deploy/etc/nginx/sites-available/x2gohtmlclient-demo.conf) #ssl_key=$(sed -n -r -e 's/^[[:space:]]*ssl_certificate_key[[:space:]]+([^[:space:];]*).*$/\1/p' ${HOME}/x2go/deploy/etc/nginx/sites-available/x2gohtmlclient-demo.conf) #ssl_only=true #log_dir=/var/log/x2gows #END
cat << END > ${HOME}/x2go/deploy/etc/x2go/x2gows/x2gows.options ws_proto=ws log_dir=/var/log/x2gows END
# # Package # ( cd ${HOME}/x2go/deploy; tar cfz /tmp/x2go.tgz . );
# # Install #
sudo tar xfz /tmp/x2go.tgz -C /;
sudo chown -R www-data:www-data /usr/share/x2gohtmlclient; sudo chown -R www-data:www-data /usr/share/javascript/x2gokdriveclient; sudo chown -R www-data:www-data /usr/bin/x2gowswrapper; sudo chown -R www-data:www-data /usr/lib/cgi-bin; sudo chown -R www-data:www-data /var/log/nginx; sudo chown -R www-data:www-data /var/log/x2gows; sudo chown -R www-data:www-data /etc/x2go/x2gows/x2gows.options;
sudo rm -f /etc/nginx/sites-enabled/default; sudo ln -sf ../sites-available/x2gohtmlclient-demo.conf /etc/nginx/sites-enabled/x2gohtmlclient-demo.conf
# # Run # sudo systemctl restart nginx
# =============== # Error(s) # ===============
/tmp/.x2go-user/C-user-50-1634698056_stDGNOME_dp24/session.log
running as X2Go Agent
NXAGENT - Version 3.5.99.23
Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) See https://github.com/ArcticaProject/nx-libs for more information.
Info: Agent running with pid '8744'. Session: Starting session at 'Tue Oct 19 22:47:37 2021'. Info: Proxy running in client mode with pid '8744'. Info: Using errors file '/tmp/.x2go-user/C-user-50-1634698056_stDGNOME_dp24/session.log'. Info: Using stats file '/tmp/.x2go-user/C-user-50-1634698056_stDGNOME_dp24/C-user-50-1634698056_stDGNOME_dp24/stats'. Loop: WARNING! Unrecognized session type 'unix-kde-depth_24'. Assuming agent session. Warning: Unrecognized session type 'unix-kde-depth_24'. Assuming agent session. Info: Waiting for connection from 'localhost' on socket 'tcp:*:53626'. Info: Accepted connection from '127.0.0.1'. Loop: WARNING! Non printable character decimal '7' received in remote data from FD#8. Warning: Non printable character decimal '7' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Warning: Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Warning: Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Warning: Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '0' received in remote data from FD#8. Warning: Non printable character decimal '0' received in remote data from FD#8. Loop: WARNING! Non printable character decimal '5' received in remote data from FD#8.
....
Error: Failure negotiating the session in stage '7'. Error: Aborting session with 'Unable to open display 'nx/nx,options=/tmp/.x2go-user/C-user-50-1634698056_stDGNOME_dp24/options:50''. Session: Aborting session at 'Tue Oct 19 22:48:16 2021'. Session: Session aborted at 'Tue Oct 19 22:48:16 2021'.
/var/log/x2gows/websockify.50001.1
var VNC_frame_data = [ '}3}6ba1f53e7eb3536232eeff332bd49336',
'}3}\x07\x00\x00\x00\x00\x05\x98\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}5}\n\x00\x00\x00\x04\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35000}\x06\x00\x00\x009\x00\x00\x00\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35033}\x06\x00\x00\x00\x8e\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35067}\x06\x00\x00\x00\xd1\x00\x00\x00\x14\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35101}\x06\x00\x00\x00\xed\x00\x00\x007\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35174}\x06\x00\x00\x00\xee\x00\x00\x009\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35200}\x06\x00\x00\x00\xec\x00\x00\x00=\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35233}\x06\x00\x00\x00\xe3\x00\x00\x00I\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35267}\x06\x00\x00\x00\xd4\x00\x00\x00h\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35300}\x06\x00\x00\x00\xb0\x00\x00\x00\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'}35333}\x06\x00\x00\x00W\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'EOF'];
/var/log/x2gows/8779_50000_50001.err
warning, starting websockify without SSL support WebSocket server settings:
Listen on :50001
No SSL/TLS support (no cert file)
Recording to '/var/log/x2gows/websockify.50001.*'
proxying from :50001 to :50000
127.0.0.1: new handler Process
127.0.0.1 - - [19/Oct/2021 22:47:41] "GET /x2gows/50001 HTTP/1.1" 101 -
127.0.0.1 - - [19/Oct/2021 22:47:41] 127.0.0.1: Plain non-SSL (ws://) WebSocket connection 127.0.0.1 - - [19/Oct/2021 22:47:41] 127.0.0.1: Path: '/x2gows/50001'
127.0.0.1 - - [19/Oct/2021 22:47:41] opening record file: /var/log/x2gows/websockify.50001.1
127.0.0.1 - - [19/Oct/2021 22:47:41] connecting to: :50000
127.0.0.1 - - [19/Oct/2021 22:48:16] :50000: Target closed connection
127.0.0.1 - - [19/Oct/2021 22:48:16] :50000: Closed target
/var/log/x2gows/8779_50000_50001.log
SSH pid: 8779 local port: 50000 WS port: 50001 start websockify with args --verbose --record /var/log/x2gows/websockify.50001 :50001 :50000 Client closed connection, terminating... Terminating websockify Terminating tunnel with pid 8779 terminating child process 8781 : ssh
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev