[FreeNX-kNX] FreeNX and Sound

Fabian Franz FabianFranz at gmx.de
Sat Mar 17 10:23:35 UTC 2007


> Greetings,
> 
> > No, however there is a proxy module in FreeNX SVN with compression.
> 
> Sounds interesting, I'll check it out once I get this sorted.

Okay.

> 
> > nxesd is started on client on say port 6000. (automatically via
> commercial > client)
> 
> Okay, so nxesd is the client piece, and sets up to listen on a port
> that's based on the display number port. 

No, its based on the first free port from 6000 on ...

> > So environment has to have:
> > 
> > ESPEAKER=127.0.0.1:8000
> 
> So the "ESPEAKER" env is what any "esound" clients will look for to send
> the sound.   I've done a little reading on esd now, so I'm more familiar
> with it at least.
> 
> The environment variable doesn't seem to get set on my YDL install when
> I login with Windows NX Client 2.1.0-17.   (What script/executable is
> supposed to set it?) 

FreeNX -> nxnode

if [ "$mediahelper" = "esd" ]
then
                # Set Espeaker variable
                let ESPEAKER=$display+7000
                export ESPEAKER="127.0.0.1:$ESPEAKER"

                # Do not spawn new ESD daemons
                export ESD_NO_SPAWN="yes"
fi

So I don't understand why it does not export this variable.

What FreeNX version do you use?

> 
> When I connect though, nxesd does run on the client and listens on port
> 6000/tcp and 2766/udp:
> 
> TCP    127.0.0.1:6000         0.0.0.0:0              LISTENING
> 4132

That is okay.

> > Then using any esd capable program "just" works. Sorry, but it is like
> that.
> 
> I don't think it's all that simple.  

Yes it is.

>You need nxesd running properly on
> the client

It is started automatically.

>, you need the environment variable set correctly each time
> you connect, 

It is set automatically.

>the ssh port needs to get forwarded

No, it is forwarded via nxproxy automatically.

>, and you need esd aware
> applications.  

You can use esddsp <app> too or ENABLE_ESD_PRELOAD="1" to let the whole session use OSS emulation -> esd.

So almost any OSS program does work ...

>Apparently, there's something else, too, or it would be
> working.

I dunno.

> > mplayer -ao esd test.mp3
> 
> Okay since I had no ESPEAKER env set, I tried setting one to see if esd
> was even working.  I first tried 127.0.0.1:6000.

Hadn't I told you how ESPEAKER on remote was set?

let ESPEAKER=$(echo $DISPLAY | cut -d: -f2 | cut -d. -f1)
let ESPEAKER=ESPEAKER+7000
export ESPEAKER=127.0.0.1:$ESPEAKER

is the code to use.

> Perhaps there's a problem with the ssh port forwarding.

I don't think so ...

It might however be a slight chance that nomachine changed the protocol, so if it does no longer set mediahelper="esd" (check you nxssh.log on client) it might lead to the problem of not setting ESPEAKER correctly ...

The port forwarding should be there though and work once you use the correct ESPEAKER.

cu

Fabian



More information about the FreeNX-kNX mailing list