nass --
As of Saturday, 2016-07-30 HelLViS69 released an updated set of x2go packages on SBo for Slackware 14.2:
Code:
nx-libs-3.5.0.32
x2goclient-4.0.5.1
x2goserver-4.0.1.19
I removed the old version on my Slackware64 14.2 + Multilib system and reinstalled HelLViS69's packages.
Then I installed multilib and the following SBo Packages on a liveslak Plasma5 system:
Code:
perl-Capture-Tiny-0.40
perl-Config-Simple-4.58
perl-DBD-SQLite-1.48
perl-File-ReadBackwards-1.05
perl-Unix-Syslog-1.1
nx-libs-3.5.0.32
x2goclient-4.0.5.1
x2goserver-4.0.1.19
I still cannot connect from my main laptop ( slackware64 + multilib + x2goclient ) to the new liveslak x2goserver.
I AM able to run a remote xterm session via ssh:
Code:
$ ssh -Y -l live 192.168.0.192 xterm
And I did find some things that may need to be addressed in the new x2go packages:
1. the x2goserver README has a typo on the chown and chmod commands ( each needs a full path ).
2. /usr/bin/x2gopath - returned /usr/lib/ instead of /usr/lib64 on my multilib system ( see below )
3. the symlink: /usr/lib64/x2go/bin/x2goagent pointed at /usr/local/lib/nx/bin/nxagent instead of /usr/lib64/nx/bin/nxagent ( see below )
4. if you've got ANY `stty` commands that execute on non-interactive logins, x2goclient fails ( see below ).
5. turned on loglevel=debug in /etc/x2go/x2goserver.conf on the server-side
I fixed { 1..4 } 'by hand' on my system and I seem to be getting closer to starting a remote KDE Session but still no joy here.
The current state is that I get connected but the client hangs after making the ssh connection ( debug session is below ).
I've not reported this to HelLViS69 yet as I wanted to gather it all together before taking up his time.
When I've got the time, I'll try this again on a plain, unmodified liveslak64 + KDE4 Instance ... maybe that will work for me.
-- kjh
This is my modified /usr/bin/x2gopath script:
Code:
#!/bin/sh
# Copyright (C) 2007-2015 X2Go Project - http://wiki.x2go.org
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Copyright (C) 2012-2015 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
# Copyright (C) 2012-2015 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de>
# Copyright (C) 2012-2015 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
# Copyright (C) 2012-2015 Jan Engelhard <jengelh@inai.de>
#
# kjh added this
#
ArchTag=""
TheArch="$(Uname -m)"
[ "$TheArch" = "x86_64" ] && ArchTag="64"
#
# kjh added that
#
base="${0%/*}";
if test "$base" = "$0"; then
base=".";
fi;
base=$(readlink -f "$base/..");
# The following section is subject to substitution by distro packaging tools.
# kjh inserted ${ArchTag} to the end of each instance of /lib/ in the case..esac
case "$1" in
"base") printf '%s' "$base";;
"lib") printf '%s' "$base/lib${ArchTag}/x2go";;
"libexec") printf '%s' "$base/lib${ArchTag}/x2go";;
"share") printf '%s' "$base/share/x2go";;
"nx-x11") printf '%s' "$base/lib${ArchTag}/nx/X11";;
"xinerama") printf '%s' "$base/lib${ArchTag}/nx/X11/Xinerama";;
*) exit 1;;
esac;
if test -t 1; then
echo "";
fi;
I manually fixed the /usr/lib64/x2go/bin/x2goagent symlink:
Code:
cd /usr/lib64/x2go/bin
ls -la x2goagent
# output: lrwxrwxrwx 1 root root 29 Jul 31 05:29 x2goagent -> /usr/local/lib/nx/bin/nxagent
#
# note that /usr/local/lib/nx/bin/nxagent does not exist. so I did this:
rm x2goagent
ln -s /usr/lib64/nx/bin/nxagent x2goagent
I added this if-block wrapper around my stty -echoctl and set -o vi commands in /etc/profile:
( eliminates an error like no stdout when x2goclient first connects to x2goserver )
Code:
if [[ $- == *i* ]]
then
# echo "interactive shell '$-'" >&2 # testing
set -o vi
stty -echoctl
fi
Here is an `x2goclient --debug` session. Maybe you can see something I don't see ?
I get logged in OK but the session is greyed out and the only way out is to x-out of the client.
The sessions are left behind on the server and I have to kill them by hand.
Code:
$ x2goclient --debug &
[1] 29057
[konrad@kjhlt6 .ssh]$ x2go-INFO-1> "Starting X2Go Client..."
x2go-WARNING-1> "Non-fatal: can't load translator: :/i18n/x2goclient_c"
x2go-WARNING-1> "Trying to load language with lower preference, if existent."
x2go-WARNING-1> "Non-fatal: can't load translator: :/i18n/qt_c"
x2go-WARNING-1> "Trying to load language with lower preference, if existent."
x2go-INFO-3> "Started X2Go Client."
x2go-DEBUG-src/onmainwindow.cpp:513> "$HOME=/home/konrad"
x2go-DEBUG-src/onmainwindow.cpp:2202> Reading 3 sessions from config file.
x2go-DEBUG-src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-src/onmainwindow.cpp:2682> Creating QPixmap with session icon: '":/img/icons/128x128/x2gosession.png"'.
x2go-DEBUG-src/onmainwindow.cpp:2744> Starting session with key.
x2go-INFO-8> "Starting connection to server: 192.168.0.192:22"
x2go-DEBUG-src/onmainwindow.cpp:2783> Starting new ssh connection to server:"192.168.0.192":"22" krbLogin: false
x2go-DEBUG-src/sshmasterconnection.cpp:173> SshMasterConnection, host "192.168.0.192"port 22user "live"useproxy falseproxyserver ""proxyport 22
x2go-DEBUG-src/sshmasterconnection.cpp:210> Starting SSH connection without Kerberos authentication.
x2go-DEBUG-src/sshmasterconnection.cpp:214> SshMasterConnection, instance SshMasterConnection(0x264cc30) created.
x2go-DEBUG-src/sshmasterconnection.cpp:450> SshMasterConnection, instance SshMasterConnection(0x264cc30) entering thread.
x2go-DEBUG-src/sshmasterconnection.cpp:486> libssh not initialized yet. Initializing.
x2go-DEBUG-src/sshmasterconnection.cpp:797> cserverAuth
x2go-DEBUG-src/sshmasterconnection.cpp:812> state: 1
x2go-DEBUG-src/sshmasterconnection.cpp:1065> Trying to authenticate user with private key.
x2go-DEBUG-src/sshmasterconnection.cpp:1146> Authenticating with key: 0
x2go-DEBUG-src/sshmasterconnection.cpp:662> User authentication OK.
x2go-DEBUG-src/onmainwindow.cpp:2878> SSH connection established.
x2go-DEBUG-src/onmainwindow.cpp:3160> Continue normal X2Go session
x2go-DEBUG-src/sshprocess.cpp:199> Executing remote command via SshProcess object 0: "export HOSTNAME && x2golistsessions"
x2go-DEBUG-src/sshprocess.cpp:204> this=SshProcess(0x26210b0) Running masterCon->addChannelConnection(this, ' "23185992-c175-49fe-a55d-16bea7c0a164" ', ' "bash -l -c 'echo "X2GODATABEGIN:23185992-c175-49fe-a55d-16bea7c0a164"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME && x2golistsessions; echo "X2GODATAEND:23185992-c" ');
x2go-DEBUG-src/sshmasterconnection.cpp:1312> Locking SSH channel connection MUTEX.
x2go-DEBUG-src/sshmasterconnection.cpp:1314> Passing new channel conenction object to channelConnections.
x2go-DEBUG-src/sshmasterconnection.cpp:1316> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-src/sshmasterconnection.cpp:1504> Creating new channel.
x2go-DEBUG-src/sshmasterconnection.cpp:1508> New channel:0x7fc98400e8e0
x2go-DEBUG-src/sshmasterconnection.cpp:1539> Executing remote: "bash -l -c 'echo "X2GODATABEGIN:23185992-c175-49fe-a55d-16bea7c0a164"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME && x2golistsessions; echo "X2GODATAEND:23185992-c175-49fe-a55d-16bea7c0a164";'"
x2go-DEBUG-src/sshmasterconnection.cpp:1562> New exec channel created.
x2go-DEBUG-src/sshmasterconnection.cpp:1666> EOF on channel 0x7fc98400e8e0; SshProcess object: 0
x2go-DEBUG-src/sshmasterconnection.cpp:1734> EOF sent.
x2go-DEBUG-src/sshmasterconnection.cpp:1738> Channel closed.
x2go-DEBUG-src/sshprocess.cpp:517> SSH finished: raw output (stdout): "X2GODATABEGIN:23185992-c175-49fe-a55d-16bea7c0a164
X2GODATAEND:23185992-c175-49fe-a55d-16bea7c0a164
"
x2go-DEBUG-src/sshprocess.cpp:528> SSH finished: true - "" (0).
x2go-DEBUG-src/onmainwindow.cpp:3549> ""
x2go-DEBUG-src/onmainwindow.cpp:4100> Executing remote command: "X2GODPI=120 x2gostartagent 1800x1000 adsl 16m-jpeg-9 unix-kde-depth_24 us auto 1 D KDE both"
x2go-DEBUG-src/sshprocess.cpp:199> Executing remote command via SshProcess object 1: "X2GODPI=120 x2gostartagent 1800x1000 adsl 16m-jpeg-9 unix-kde-depth_24 us auto 1 D KDE both"
x2go-DEBUG-src/sshprocess.cpp:204> this=SshProcess(0x264b5d0) Running masterCon->addChannelConnection(this, ' "95052ae6-c92a-459c-a1b7-24eacda52c0a" ', ' "bash -l -c 'echo "X2GODATABEGIN:95052ae6-c92a-459c-a1b7-24eacda52c0a"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; X2GODPI=120 x2gostartagent 1800x1000 adsl 16m-jpeg-9 unix-kde-dep" ');
x2go-DEBUG-src/sshmasterconnection.cpp:1312> Locking SSH channel connection MUTEX.
x2go-DEBUG-src/sshmasterconnection.cpp:1314> Passing new channel conenction object to channelConnections.
x2go-DEBUG-src/sshmasterconnection.cpp:1316> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-src/sshmasterconnection.cpp:1504> Creating new channel.
x2go-DEBUG-src/sshmasterconnection.cpp:1508> New channel:0x7fc98400e8e0
x2go-DEBUG-src/sshmasterconnection.cpp:1539> Executing remote: "bash -l -c 'echo "X2GODATABEGIN:95052ae6-c92a-459c-a1b7-24eacda52c0a"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; X2GODPI=120 x2gostartagent 1800x1000 adsl 16m-jpeg-9 unix-kde-depth_24 us auto 1 D KDE both; echo "X2GODATAEND:95052ae6-c92a-459c-a1b7-24eacda52c0a";'"
x2go-DEBUG-src/sshmasterconnection.cpp:1562> New exec channel created.
x2go-DEBUG-src/onmainwindow.cpp:1557> Close event received.
x2go-DEBUG-src/onmainwindow.cpp:1581> Quitting from tray icon and closing application.
x2go-INFO-6> "Closing X2Go Client ..."
x2go-DEBUG-src/onmainwindow.cpp:1410> Saving settings ...
x2go-DEBUG-src/onmainwindow.cpp:1419> Saved settings.
x2go-DEBUG-src/onmainwindow.cpp:1441> Waiting for the SSH connection to finish ...
x2go-DEBUG-src/sshmasterconnection.cpp:716> SshMasterConnection, instance SshMasterConnection(0x264cc30) waiting for thread to finish.
x2go-DEBUG-src/sshmasterconnection.cpp:1423> Disconnecting ...
x2go-DEBUG-src/sshmasterconnection.cpp:1434> Deleting channel connections.
x2go-DEBUG-src/sshmasterconnection.cpp:1734> EOF sent.
x2go-DEBUG-src/sshmasterconnection.cpp:1738> Channel closed.
x2go-DEBUG-src/sshmasterconnection.cpp:1442> Disconnecting session.
x2go-DEBUG-src/sshmasterconnection.cpp:1448> Deleting sockets.
x2go-DEBUG-src/sshmasterconnection.cpp:1455> All channels closed and session disconnected. Quiting session loop.
x2go-DEBUG-src/sshmasterconnection.cpp:720> SshMasterConnection, instance SshMasterConnection(0x264cc30) thread finished.
x2go-DEBUG-src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-src/sshmasterconnection.cpp:727> SshMasterConnection, instance SshMasterConnection(0x264cc30) finished destructor.
x2go-DEBUG-src/onmainwindow.cpp:1443> SSH connection finished.
x2go-DEBUG-src/sshmasterconnection.cpp:744> libssh finalized.
x2go-INFO-7> "Finished X2Go Client closing hooks."
x2go-DEBUG-src/onmainwindow.cpp:526> Destroying X2Go Client's main window.
x2go-DEBUG-src/onmainwindow.cpp:529> Finished destructor hooks for X2Go Client's main window.
# Next-to-Last, this is what I found in /var/log/messages on the server side when I ran the x2goclient session above:
Code:
Aug 1 12:43:00 liveslak64 sshd[838]: Accepted publickey for live from 192.168.0.6 port 40188 ssh2: RSA SHA256:4oEcIcF4NsDwSf68lnvu/V+isbf+wAJNepnisBqDhLs
Aug 1 12:43:00 liveslak64 /usr/bin/x2gostartagent: x2gostartagent called with options: 1800x1000 adsl 16m-jpeg-9 unix-kde-depth_24 us auto 1 D KDE both
Aug 1 12:43:00 liveslak64 /usr/bin/x2gosessionlimit[894]: x2gosessionlimit has been called
Aug 1 12:43:00 liveslak64 /usr/bin/x2golistsessions[898]: x2golistsessions has been called with options: --all-servers
# And Finally, this mess is in /var/log/debug on the x2goserver side ( 748 lines repeated at a VERY high freq.
I turned on debug mode in /etc/x2go/x2goserver.conf so I am not concerned about the high-freq logging at this point.
Code:
# grep '^Aug 1 12:4' /var/log/debug |wc -l
748
# grep '^Aug 1 12:4' /var/log/debug |head -4
Aug 1 12:43:00 liveslak64 /usr/bin/x2golistsessions[851]: x2golistsessions has been called with no option
Aug 1 12:43:00 liveslak64 /usr/bin/x2gostartagent: client announced itself as ,,192.168.0.6''
Aug 1 12:43:00 liveslak64 /usr/lib64/x2go/x2gogetdisplays[921]: db_getdisplays called, server: liveslak64.kjh.home; return value:
Aug 1 12:43:00 liveslak64 /usr/lib64/x2go/x2gogetports[943]: db_getports called, server: liveslak64.kjh.home; return value:
# grep '^Aug 1 12:4' /var/log/debug |tail -2
Aug 1 12:44:08 liveslak64 /usr/lib64/x2go/x2gogetdisplays[19431]: db_getdisplays called, server: liveslak64.kjh.home; return value:
Aug 1 12:44:08 liveslak64 /usr/lib64/x2go/x2gogetports[19443]: db_getports called, server: liveslak64.kjh.home; return value: