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