[X2go-dev] x2go with likewise-open (ldap) questions
John A. Sullivan III
jsullivan at opensourcedevel.com
Wed Dec 15 17:47:54 CET 2010
On Wed, 2010-12-15 at 16:19 +0200, Ivan Boyadzhiev wrote:
> Bingo!
>
> This above is the exact problem.
>
> I cleaned all the folders. Then I started new x2goclient
> session. While the session was starting, I've created symbolic
> folder without "\" symbol, in the next moment when the folder
> with "\" appeared. As result I had 2 folders in ~/.x2go/ - the
> one with "\" and symlink without "\". Then the 3
> files .pulse-cookie; .pulse-client.conf and cmdoutput
> appeared, as well as the sound in my client!
>
> That is the problem then. Can you, please, provide fix?
>
>
>
> Hi hi,
> although this issue is happening on the server side (located in Ubuntu
> x2goserver), the code is actually sending from the client - reverse
> ssh.
>
> I'm using x2goclient 3.01-13 on my Windows 7, as 3.01-14 doesn't work
> properly. Still I've tested x2goclient 3.01-14 on VMWare Ubuntu, and
> it doesn't solve this issue, infact, it doesn't have sound at all.
> I couldn't find x2goclient 3.01-13 sources, but I have found 3.01-14
> sources, so I made my investigations there.
>
> Before we start dig in the source:
> 1. We have problem with creating 3 files
> (.pulse-cookie; .pulse-client.conf, cmdoutput)
> 2. We have problem with not properly set environment
> (PULSE_CLIENTCONFIG)
> All these errors are because:
> 1. These files are located in non-existing folder (without "\")
> 2. This environment is pointing to non-existing folder (without "\")
>
> We have 2 solutions: to use everywhere DOMAIN\user, or DOMAINuser.
> I think using everywhere DOMAIN\user is better, but it is complete up
> to you as development to decide.
>
> Another problem: I've checked, and because of very same problem, sshfs
> can't map local folder with remote folder, because of
> non-existing /tmp/DOMAINuser_media folder.
>
> Deep in the code:
> All sources are in the file: onmainwindow.cpp. Searching
> for .pulse-cookie and PULSE_CLIENTCONFIG lead us to the first places
>
>
> row 3,227:
> if ( sndSystem==PULSE )
> {
> startSoundServer=false;
> QString scmd;
> if ( !sshSndTunnel )
> scmd="echo \"default-server=`echo "
> "$SSH_CLIENT | awk '{print $1}'`:"+
> sndPort+
> "\"> ~/.x2go/C-"+
> resumingSession.sessionId+
> "/.pulse-client.conf"
> ";echo \"cookie-file=.x2go/C-"+
> resumingSession.sessionId+
> "/.pulse-cookie"+
> "\">> ~/.x2go/C-"+
> resumingSession.sessionId+
> "/.pulse-client.conf";
>
> row 4,274:
> cmd="PULSE_CLIENTCONFIG=~/.x2go/C-"+
> resumingSession.sessionId+
> "/.pulse-client.conf "+cmd;
>
>
> Note: same variable: resumingSession.sessionId
>
> Where is resumingSession initialise?
>
> row 3,203:
> if ( newSession )
> {
> QString sString=output.trimmed();
> sString.replace ( '\n','|' );
> host=resumingSession.server;
> resumingSession=getNewSessionFromString ( sString );
>
> getNewSessionFromString and sString:
>
> row 4,160:
> x2goSession ONMainWindow::getNewSessionFromString ( const QString&
> string )
> {
> QStringList lst=string.split ( '|' );
> x2goSession s;
> s.display=lst[0];
> s.cookie=lst[1];
> s.agentPid=lst[2];
> s.sessionId=lst[3];
>
> row 3,205:
> sString comes from: output.trimmed();
>
> Here is not possible for QT function trimmed() to remove "\" because
> this howto:
> http://doc.qt.nokia.com/4.7-snapshot/qstring.html#trimmed
>
> Then where is output coming from? - From the Method, which is:
>
> row 3,089:
> void ONMainWindow::slot_retResumeSess ( bool result,
> QString output,
> sshProcess* proc )
>
> Where is slot_retResumeSess called from? Various places, but I think
> it is from here:
>
> row 2,724:
> connect ( proc,SIGNAL ( sshFinished ( bool,
> QString,sshProcess* ) ),
> this,SLOT ( slot_retResumeSess ( bool, QString,
> sshProcess* ) ) );
>
> Still there is NO parameter given for second variable, which should
> come as output?!
>
> Still working on ...
<snip>
Thank you, Ivan, for all the detailed work you are doing to troubleshoot
this - John
More information about the x2go-dev
mailing list