Subject: Bug#1098: x2go doesn't connect if remote has encfs that is not mounted

From: kwikwi <[email-masked]>
Date: Fri, 7 Oct 2016 18:31:11 +0200

Package: x2goclient
Version: 4.0.5.2

Packages
x2goagent 2:3.5.0.32-0~668~ubuntu16.04.1
x2goclient 4.0.5.2-0~1205~ubuntu16.04.1
x2goplugin 4.0.5.2-0~1205~ubuntu16.04.1
x2goserver 4.0.1.19-0~1064~ubuntu16.04.1
x2goserver-extensions 4.0.1.19-0~1064~ubuntu16.04.1
x2goserver-xsession 4.0.1.19-0~1064~ubuntu16.04.1

encfs 1.8.1-3
libpam-mount 2.14-1.1

Running on Xubuntu Xenial

I use encfs to encrypt my private data and pam_mount to automagically 
mount this when I login. As I only use a key when logging in over ssh 
(and x2go) I let my ~/.profile prompt for the encfs password. Until the 
previous install of Xubuntu (wily) this also worked for x2go. Under 
xenial not anymore, although I have added the same lines in the same 
configuration files.
x2goclient "hangs" silently

#############################################
x2goclient --debug
x2go-INFO-1> "Starting X2Go Client..."
x2go-INFO-4> "Translator: :/i18n/x2goclient_de found."
x2go-INFO-4> "Übersetzung: :/i18n/qt_de gefunden."
x2go-INFO-3> "X2GoClient wurde gestartet."
x2go-DEBUG-../src/onmainwindow.cpp:517> "$HOME=/home/jw"
x2go-DEBUG-../src/onmainwindow.cpp:2206> 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:2686> Creating QPixmap with session 
icon: '":/img/icons/128x128/x2gosession.png"'.
x2go-DEBUG-../src/onmainwindow.cpp:2753> Starting session via Smart 
Card, SSH Agent or Kerberos token.
x2go-INFO-8> "Verbindung mit Server wird gestartet: aspi:22"
x2go-DEBUG-../src/onmainwindow.cpp:2787> Starting new ssh connection to 
server:"aspi":"22" krbLogin: false
x2go-DEBUG-../src/sshmasterconnection.cpp:174> SshMasterConnection, host 
"aspi"port 22user "jw"useproxy falseproxyserver ""proxyport 22
x2go-DEBUG-../src/sshmasterconnection.cpp:211> Starting SSH connection 
without Kerberos authentication.
x2go-DEBUG-../src/sshmasterconnection.cpp:215> SshMasterConnection, 
instance SshMasterConnection(0x1a16810) created.
x2go-DEBUG-../src/sshmasterconnection.cpp:451> SshMasterConnection, 
instance SshMasterConnection(0x1a16810) entering thread.
x2go-DEBUG-../src/sshmasterconnection.cpp:487> libssh not initialized 
yet. Initializing.
x2go-DEBUG-../src/sshmasterconnection.cpp:798> cserverAuth
x2go-DEBUG-../src/sshmasterconnection.cpp:813> state: 1

x2go-DEBUG-../src/sshmasterconnection.cpp:663> User authentication OK.
x2go-DEBUG-../src/onmainwindow.cpp:2884> SSH connection established.
x2go-DEBUG-../src/onmainwindow.cpp:3193> 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(0x1a68c10) Running 
masterCon->addChannelConnection(this, ' 
"acef35a2-bc0c-467a-9b81-6da9a52d96c8" ', ' "bash -l -c 'echo 
"X2GODATABEGIN:acef35a2-bc0c-467a-9b81-6da9a52d96c8"; export 
PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME 
&& x2golistsessions; echo "X2GODATAEND:acef35a2-b" ');
x2go-DEBUG-../src/sshmasterconnection.cpp:1324> Locking SSH channel 
connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1326> Passing new channel 
conenction object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1328> Unlocking SSH channel 
connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1516> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:1520> New channel:0x7f18bc013420

x2go-DEBUG-../src/sshmasterconnection.cpp:1551> Executing remote: "bash 
-l -c 'echo "X2GODATABEGIN:acef35a2-bc0c-467a-9b81-6da9a52d96c8"; export 
PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME 
&& x2golistsessions; echo 
"X2GODATAEND:acef35a2-bc0c-467a-9b81-6da9a52d96c8";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:1574> New exec channel created.

#################################

I recently found that, when on the remote the encfs is mounted, then 
x2goclient connects as usual.
So an obvious work-arround is to login (via ssh) on the remote before 
running x2goclient.

Is this a bug?
Is this a configuration error on 1 of my PCs?
Is there a better work-arround

Regards

Jack