> > 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
_______________________________________________ X2go-dev mailing list X2go-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev