[X2go-dev] x2go with likewise-open (ldap) questions

Ivan Boyadzhiev ivancho.b at gmail.com
Wed Dec 15 15:19:21 CET 2010


>
> 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 ...

Best Regards
Ivan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20101215/ac57df83/attachment.html>


More information about the x2go-dev mailing list