<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Bingo! <br><br>This above is the exact problem.<br><br>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!<br>


<br>That is the problem then. Can you, please, provide fix?<div><div class="h5"><br></div></div></blockquote><div><br>Hi hi,<br>although this issue is happening on the server side (located in Ubuntu x2goserver), the code is actually sending from the client - reverse ssh.<br>

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

I couldn't find x2goclient 3.01-13 sources, but I have found 3.01-14 sources, so I made my investigations there.<br><br>Before we start dig in the source: <br> 1. We have problem with creating 3 files (.pulse-cookie; .pulse-client.conf, cmdoutput)<br>

 2. We have problem with not properly set environment (PULSE_CLIENTCONFIG)<br>All these errors are because:<br> 1. These files are located in non-existing folder (without "\")<br> 2. This environment is pointing to non-existing folder (without "\")<br>

<br>We have 2 solutions: to use everywhere DOMAIN\user, or DOMAINuser.<br>I think using everywhere DOMAIN\user is better, but it is complete up to you as development to decide.<br><br>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.<br>

<br>Deep in the code: <br>All sources are in the file: onmainwindow.cpp. Searching for .pulse-cookie and PULSE_CLIENTCONFIG lead us to the first places<br><br><br>
row 3,227:<br>    if ( sndSystem==PULSE )<br>    {<br>        startSoundServer=false;<br>        QString scmd;<br>        if ( !sshSndTunnel )<br>            scmd="echo \"default-server=`echo "<br>                 "$SSH_CLIENT | awk '{print $1}'`:"+<br>

                 sndPort+<br>                 "\"> ~/.x2go/C-"+<br>                 resumingSession.sessionId+<br>                 "/.pulse-client.conf"<br>                 ";echo \"cookie-file=.x2go/C-"+<br>

                 resumingSession.sessionId+<br>                 "/.pulse-cookie"+<br>                 "\">> ~/.x2go/C-"+<br>                 resumingSession.sessionId+<br>                 "/.pulse-client.conf";<br>

<br>row 4,274:<br>            cmd="PULSE_CLIENTCONFIG=~/.x2go/C-"+<br>                resumingSession.sessionId+<br>                "/.pulse-client.conf "+cmd;<br><br></div></div>Note: same variable: resumingSession.sessionId<br>

<br>Where is resumingSession initialise?<br><br>row 3,203:<br>    if ( newSession )<br>    {<br>        QString sString=output.trimmed();<br>        sString.replace ( '\n','|' );<br>        host=resumingSession.server;<br>

        resumingSession=getNewSessionFromString ( sString );<br><br>getNewSessionFromString and sString:<br><br>row 4,160:<br>x2goSession ONMainWindow::getNewSessionFromString ( const QString& string )<br>{<br>    QStringList lst=string.split ( '|' );<br>

    x2goSession s;<br>    s.display=lst[0];<br>    s.cookie=lst[1];<br>    s.agentPid=lst[2];<br>    s.sessionId=lst[3];<br><br>row 3,205:<br>sString comes from: output.trimmed();<br><br>Here is not possible for QT function trimmed() to remove "\" because this howto:<br>

<a href="http://doc.qt.nokia.com/4.7-snapshot/qstring.html#trimmed">http://doc.qt.nokia.com/4.7-snapshot/qstring.html#trimmed</a><br><br>Then where is output coming from? - From the Method, which is: <br><br>row 3,089:<br>

void ONMainWindow::slot_retResumeSess ( bool result,<br>                                        QString output,<br>                                        sshProcess* proc )<br><br>Where is slot_retResumeSess called from? Various places, but I think it is from here:<br>

<br>row 2,724:<br>    connect ( proc,SIGNAL ( sshFinished ( bool, QString,sshProcess* ) ),<br>              this,SLOT ( slot_retResumeSess ( bool, QString,<br>                                               sshProcess* ) ) );<br>

<br>Still there is NO parameter given for second variable, which should come as output?!<br><br>Still working on ...<br><br>Best Regards<br>Ivan<br><br>